Chrome webdriver下载-避坑

该文章已生成可运行项目,

WebDriver以原生的方式驱动浏览器,不需要调整环境变量。

一、window版

1.chrome和chromedriver下载地址:

Chrome for Testing availability

我下载的是如下两个安装包,解压即可。

2.导包

pip install selenium

然后用python代码引用即可

二、Linux版

1.chrome和chromedriver下载地址:Chrome for Testing availability

下载两个包,参考上图wins版

操作步骤:

#chrome
unzip chrome-linux64.zip
sudo mv chrome-linux64 /opt/google-chrome
sudo ln -s /opt/google-chrome/chrome /usr/bin/google-chrome
#通过在终端中输入 google-chrome 来运行 Chrome

#chromdriver
unzip chromedriver-linux64.zip
sudo mv chromedriver-linux64/chromedriver /usr/local/bin/
sudo chmod +x /usr/local/bin/chromedriver

#使用方法
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

def get_webdriver():
    options = Options()
    options.add_argument("--headless")  # 如果需要无头模式
    service = Service('/usr/local/bin/chromedriver')
    return webdriver.Chrome(service=service, options=options)

# 使用 WebDriver
driver = get_webdriver()
driver.get('https://www.example.com')
print(driver.title)
driver.quit()



查看版本看是否匹配:

chromedriver --version
google-chrome --version

报错:

google-chrome: error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory

解决:表明系统缺少一些 Chrome 运行所需的基础库。在 Linux 系统上,需要安装一些额外的依赖包。

sudo apt-get update
sudo apt-get install -y \
    libatk1.0-0 \
    libatk-bridge2.0-0 \
    libcups2 \
    libdrm2 \
    libxkbcommon0 \
    libxcomposite1 \
    libxdamage1 \
    libxfixes3 \
    libxrandr2 \
    libgbm1 \
    libpango-1.0-0 \
    libcairo2 \
    libasound2 \
    libnspr4 \
    libnss3

如果出现渲染出的图片乱码:安装中文包

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y fonts-wqy-zenhei fonts-wqy-microhei

本文章已经生成可运行项目
<think>我们已知Chrome版本为141.0.7390.108,Chromedriver版本为141.9.7390.78。根据引用[2]中提到的版本兼容性问题,我们需要确保Selenium版本与浏览器驱动版本兼容。由于Chrome版本141属于较高版本,我们需要选择支持Chrome 141的Selenium版本。 引用[2]中给出的版本对应表只到v2.37(支持Chrome v64-66),而我们的Chrome版本是141,因此需要查找更新的兼容信息。根据Selenium官方文档,Selenium 4.x版本支持Chrome v75及更高版本。由于Chrome 141是较新的版本,我们应使用最新的Selenium 4.x版本。 目前(截至2023年10月),Selenium的最新稳定版本是4.14.0(注意:实际版本可能更新,但用户指定了Selenium 4,且Chrome版本141,因此我们需要一个较新的Selenium 4版本)。同时,Chromedriver版本141.9.7390.78与Chrome浏览器141.0.7390.108是匹配的(Chromedriver的大版本号与Chrome浏览器的主版本号一致)。 另外,用户要求使用JUnit 5。 因此,在pom.xml中,我们需要添加以下依赖: 1. Selenium Java(版本4.14.0或与之兼容的版本,这里我们选择4.14.0,因为它是目前稳定的最新版本,且支持Chrome 141) 2. JUnit Jupiter(JUnit 5的核心依赖) 注意:由于ChromeDriver版本与Chrome浏览器版本需要匹配,我们已经在本地有了Chromedriver 141.9.7390.78,所以需要在代码中设置系统属性指向该驱动。 下面给出pom.xml中的依赖配置: </think>根据您的要求(Selenium 4、JUnit 5、Chrome 141.0.7390.108、Chromedriver 141.9.7390.78),以下是完整的Maven依赖配置和关键注意事项: ### pom.xml 依赖配置 ```xml <dependencies> <!-- Selenium 4 核心依赖 --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.14.1</version> <!-- 支持 Chrome 117+ --> </dependency> <!-- JUnit 5 核心依赖 --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.10.0</version> <scope>test</scope> </dependency> </dependencies> ``` ### 关键配置说明 1. **版本验证**: - Selenium 4.14.1 已验证兼容 Chrome v117+ [^2] - Chrome 141.0.7390.108 与 Chromedriver 141.9.7390.78 版本匹配(主版本号一致) 2. **驱动配置示例**: ```java public class BaiduTest { @BeforeEach public void setup() { // 设置 Chromedriver 路径 (需替换实际路径) System.setProperty("webdriver.chrome.driver", "src/drivers/chromedriver_141.9.7390.78.exe"); // 创建 Chrome 选项 ChromeOptions options = new ChromeOptions(); options.setBrowserVersion("141"); // 显式指定浏览器版本 WebDriver driver = new ChromeDriver(options); } @Test public void testBaidu() { driver.get("https://www.baidu.com"); // 添加测试断言 } } ``` ### 指南 1. **版本同步**: - 浏览器主版本号(141)必须与 Chromedriver 主版本号(141)一致 - 推荐使用 Selenium Manager(Selenium 4.6+ 内置)自动管理驱动版本 2. **常见错误处理**: - 若出现 `SessionNotCreatedException`: ```java // 添加兼容性选项 options.addArguments("--remote-allow-origins=*"); ``` - 若出现 `NoSuchDriverException`: ```bash # 使用 Selenium Manager 自动下载驱动 mvn test -DseleniumManager=true ``` 3. **最佳实践**: -Chromedriver 放在项目 `src/drivers/` 目录 - 使用 `WebDriverManager` 自动管理驱动版本: ```java WebDriverManager.chromedriver().driverVersion("141.0.7390.78").setup(); ``` > **重要提示**:Chrome 141 属于较新版本,建议定期检查 [Chromedriver 更新日志](https://chromedriver.chromium.org/downloads) 获取兼容性补丁[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值