侧边栏壁纸
博主头像
小鱼说博主等级

Enjoy life !

  • 累计撰写 13 篇文章
  • 累计创建 19 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux系统上使用Selenium

xiaoyu
2024-09-12 / 0 评论 / 0 点赞 / 42 阅读 / 6337 字

在Linux上使用selenium

1. 环境准备

安装依赖

确保你已经安装了以下软件:

  • Python 3:可以通过 sudo apt-get install python3 安装。
  • pip:可以通过 sudo apt-get install python3-pip 安装。
  • Selenium:使用以下命令安装:
    pip install selenium
    

安装 Chrome 和 ChromeDriver

  1. 安装 Google Chrome
    可以通过以下命令安装:

    wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install ./google-chrome-stable_current_amd64.deb
    
  2. 安装 ChromeDriver
    下载与 Chrome 版本匹配的 ChromeDriver

    CHROME_VERSION=$(google-chrome --version | grep -oP '\d+\.\d+\.\d+\.\d+')
    # $CHROME_VERSION 查看版本,去官网下载对应的版本
    wget https://storage.googleapis.com/chrome-for-testing-public/126.0.6478.182/linux64/chromedriver-linux64.zip
    unzip chromedriver_linux64.zip
    mv chromedriver-linux64 chromedriver
    sudo mv chromedriver /usr/local/bin/
    sudo chmod +x /usr/local/bin/chromedriver
    

2. 修改代码

根据 Linux 环境的要求,调整代码中的 Chrome 选项:

# 设置 Chrome 驱动选项
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--headless")  # 使用无头模式
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-gpu")
# chrome_options.add_argument(r"user-data-dir=C:\Temp\ChromeProfile")  # 使用新的用户数据目录 windows下, Linux下注释掉

# 创建 Chrome 驱动 /usr/local/bin/chromedriver/chromedriver
service = Service('/usr/local/bin/chromedriver/chromedriver')  # Windows下 chromedriver 路径 path\to\chromedriver-win64\chromedriver.exe, 在Linux下使用上述路径 /usr/local/bin/chromedriver/chromedriver
driver = webdriver.Chrome(service=service, options=chrome_options)

示例代码

Linux下示例代码

import time
import json
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

# 设置 Chrome 驱动选项
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--headless")  # 如果需要无头模式
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-gpu")
# chrome_options.add_argument(r"user-data-dir=C:\Temp\ChromeProfile")  # 使用新的用户数据目录

# 创建 Chrome 驱动
service = Service('/usr/local/bin/chromedriver/chromedriver')  # 替换为你的 chromedriver 路径
driver = webdriver.Chrome(service=service, options=chrome_options)

# 测试打开一个网页 此步替换成要进行的操作
driver.get("https://www.google.com")
print(driver.title)

# 关闭浏览器
driver.quit()

windows下示例代码

import time
import json
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

# 设置 Chrome 驱动选项
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--headless")  # 如果需要无头模式
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument(r"user-data-dir=C:\Temp\ChromeProfile")  # 使用新的用户数据目录

# 创建 Chrome 驱动
service = Service('path\to\chromedriver-win64\chromedriver.exe')  # 替换为你的 chromedriver 路径
driver = webdriver.Chrome(service=service, options=chrome_options)

# 测试打开一个网页 此步替换成要进行的操作
driver.get("https://www.google.com")
print(driver.title)

# 关闭浏览器
driver.quit()
0

评论区