在Linux上使用selenium
1. 环境准备
安装依赖
确保你已经安装了以下软件:
- Python 3:可以通过
sudo apt-get install python3
安装。 - pip:可以通过
sudo apt-get install python3-pip
安装。 - Selenium:使用以下命令安装:
pip install selenium
安装 Chrome 和 ChromeDriver
-
安装 Google Chrome:
可以通过以下命令安装:wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install ./google-chrome-stable_current_amd64.deb
-
安装 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()
评论区