4 回答
TA贡献1843条经验 获得超7个赞
您的 ChromeDriver 版本和安装的 Chrome 版本需要匹配。您正在使用 ChromeDriver for Chrome version 84,在本回答时,它是 Chrome 的测试版(不稳定);你可能没有使用它。您可能使用的是 83 版。
检查您的 Chrome 版本(帮助 -> 关于),然后找到正确的ChromeDriver 版本。您可以改为使用webdriver-manager
which can handle this for you。
TA贡献1825条经验 获得超4个赞
我们可以自动执行下载二进制文件和配置路径的任务。
我们不必担心浏览器版本或二进制版本
这可以通过使用webdriver-manager来完成
pip install webdriver-manager
现在,问题中的上述代码只需进行以下更改即可,
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
同样可用于设置 Firefox、Edge 和 ie 二进制文件。
TA贡献1757条经验 获得超8个赞
这个错误信息...
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 84
...暗示ChromeDriver无法启动/生成新的浏览上下文,即Chrome 浏览器会话。
分析
您的主要问题是您使用的二进制文件版本之间不兼容,如下所示:
您正在使用chromedriver=84
chromedriver=84的发行说明清楚地提到:
支持Chrome 版本 84
据推测,您正在使用chrome=83最新推出的 Chrome。
所以ChromeDriver v84和Chrome Browser v83之间存在明显的不匹配
解决方案
此问题有两 (2) 个解决方案。
最简单的解决方案是下载并开始使用chromedriver=83.0.4103.39
如果您想继续使用chromedriver=84,您必须从任一官方开发存储库下载最新的Chromium二进制文件:
此外还要确保:
Selenium升级到当前级别Version 3.141.59。
如果您的基本Web 客户端版本太旧,则将其卸载并安装最新的 GA 和已发布版本的Web 客户端。
通过您的IDE清理您的项目工作区,并仅使用所需的依赖项重建您的项目。
如果您的基本Web 客户端版本太旧,则将其卸载并安装最新的 GA 和已发布版本的Web 客户端。
重新启动系统。
@Test
以非 root用户身份执行。始终
driver.quit()
在tearDown(){}
方法内调用以优雅地关闭和销毁WebDriver和Web Client实例。
TA贡献1874条经验 获得超12个赞
添加回答
举报