This error message…
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 79
…意味着ChromeDriver v79无法启动/生成新的
_浏览上下文,即浏览器版本所在的Chrome浏览器会话
除v79.x外。
您的主要问题是二进制文件版本之间的不兼容
您使用的方法如下:
*您提到过使用_chromedriver=79.0.3945.79。尽管发布的版本是ChromeDriver 79.0.3945.16(2019-10-30)和ChromeDriver 79.0.3945.36(2019-11-18)然而,chromedriver=79.0.3945.79的发行说明提到以下内容:
支持Chrome v79
您使用的是chromium-browser v79.0.3945.79浏览器。
ChromeDriver在默认位置安装时支持“google chrome”,与底层操作系统相关:1对于Linux系统,ChromeDriver希望“/usr/bin/google chrome”是
符号链接到实际的Chrome二进制文件。
解决方案
有两种解决方案:
您可以将安装在默认位置的“google chrome”升级到当前的chrome 79.0版本。(根据ChromeDriver v79.0发行说明)
或者,您可以使用文档后面的Chrome browser
二进制位置[在非标准位置使用Chrome可执行文件]覆盖默认Chrome二进制位置,即“/usr/bin/google Chrome”(https://sites.google.com/a/chromium.org/chromedriver/capabilities#TOC-使用-a-Chrome-executable-in-a-non-standard-location)作为跟随:
from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsoptions = Options()options.binary_location='/path/to/chromium-browser.exe'driver = webdriver.Chrome(executable_path=r'C:UtilityBrowserDriverschromedriver.exe', options=options)driver.get('http://google.com/')通过IDE清理项目工作区,并用所需的依赖项重建项目。
如果您的基本Web客户端版本太旧,请卸载它并安装最新的GA和发布版本的Web客户端。
重新启动系统。
以非根用户身份执行您的“@Test”。
*总是调用
司机。退出()within
tearDown(){}方法,以优雅地关闭和销毁|WebDriver|和|Web Client|实例。


