+
100
-

回答

CentOS 7 安装 ChromeDriver 指南

在 CentOS 7 上安装 ChromeDriver 需要几个步骤。以下是详细的安装指南:

1. 安装 Google Chrome

首先需要安装 Google Chrome 浏览器:

# 添加 Google Chrome 仓库
sudo yum install -y wget
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

# 安装 Chrome
sudo yum install -y google-chrome-stable_current_x86_64.rpm
2. 检查 Chrome 版本

安装完成后,检查 Chrome 的版本,以便下载匹配的 ChromeDriver:

google-chrome --version

记下版本号,例如 "Google Chrome 114.0.5735.198"。

3. 下载对应版本的 ChromeDriver

根据 Chrome 版本下载对应的 ChromeDriver:

# 创建目录存放 ChromeDriver
mkdir -p ~/webdrivers

# 下载 ChromeDriver (替换 CHROME_VERSION 为您的 Chrome 主版本号,例如 114)
cd ~/webdrivers
wget https://chromedriver.storage.googleapis.com/CHROME_VERSION.0.5735.90/chromedriver_linux64.zip

# 解压文件
unzip chromedriver_linux64.zip

# 移动到系统路径
sudo mv chromedriver /usr/local/bin/

# 设置执行权限
sudo chmod +x /usr/local/bin/chromedriver
4. 验证安装

创建一个简单的 Python 脚本来测试 ChromeDriver 是否正确安装:

# 安装 Python 和 Selenium (如果尚未安装)
sudo yum install -y python3 python3-pip
pip3 install selenium

# 创建测试脚本
cat > test_chromedriver.py << 'EOF'
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

# 设置 Chrome 选项
chrome_options = Options()
chrome_options.add_argument("--headless")  # 无头模式
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")

# 设置 ChromeDriver 服务
service = Service('/usr/local/bin/chromedriver')

# 初始化 Chrome 浏览器
driver = webdriver.Chrome(service=service, options=chrome_options)

# 打开网页
driver.get('https://www.baidu.com')
print(f"页面标题: {driver.title}")

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

# 运行测试脚本
python3 test_chromedriver.py
5. 可能遇到的问题及解决方案5.1 缺少依赖库

如果遇到缺少依赖库的错误,可以安装以下包:

sudo yum install -y libX11 libXcomposite libXcursor libXdamage libXext libXi libXtst cups-libs libXScrnSaver libXrandr alsa-lib pango atk at-spi2-atk gtk3
5.2 ChromeDriver 版本不匹配

如果遇到版本不匹配的问题,请确保下载的 ChromeDriver 版本与您的 Chrome 版本匹配。您可以在这里找到所有可用的 ChromeDriver 版本:https://chromedriver.chromium.org/downloads

5.3 沙盒问题

在某些 Linux 环境中,可能需要禁用沙盒模式:

chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
5.4 自动更新 ChromeDriver

如果您需要经常更新 ChromeDriver,可以考虑使用 webdriver-manager 包:

pip3 install webdriver-manager

然后在 Python 脚本中使用:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)

这样就完成了在 CentOS 7 上安装和配置 ChromeDriver 的全部步骤。

网友回复

我知道答案,我要回答