【问题标题】:selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally error with Chromedriver 2.26 Seleniumselenium.common.exceptions.WebDriverException:消息:未知错误:Chrome 无法启动:Chromedriver 2.26 Selenium 异常退出错误
【发布时间】:2020-11-01 00:26:21
【问题描述】:

我正在尝试在 ubuntu 中设置 chrome webdriver。我已经这样做了

pip install selenium

我能做到

from selenium import webdriver

为了安装chrome webdriver,我尝试了很多东西。例如,我厌倦了来自Can't use chrome driver for Selenium 的答案 在这里,我试过了

  1. 检查您是否安装了最新版本的 chrome 浏览器-> "chromium-browser -version"
  2. 如果没有,请安装最新版本的 chrome "sudo apt-get install chromium-browser"
  3. 从http://chromedriver.storage.googleapis.com/index.html获取合适版本的chrome驱动
  4. 解压chromedriver.zip
  5. 将文件移动到 /usr/bin 目录 sudo mv chromedriver /usr/bin
  6. 转到 /usr/bin 目录,您需要运行“chmod a+x chromedriver”之类的东西来将其标记为可执行。
  7. 终于可以执行代码了。

我可以这样做

from selenium import webdriver
driver = webdriver.Chrome()

但是,在第二行我得到了错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/../.local/lib/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/home/../.local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/../.local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/../.local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/../.local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (Driver info: chromedriver=2.26.436382 (70eb799287ce4c2208441fc057053a5b07ceabac),platform=Linux 4.15.0-109-generic x86_64)

谁能帮帮我?

【问题讨论】:

  • 你能手动启动你的驱动程序可执行文件吗?
  • 嗨,你是什么意思?
  • 我的意思是你可以像在 Linux 中的任何其他可执行文件一样运行你的 webdriver 可执行文件(而不是从你的 python 代码)。您需要尝试运行它并观察它是否会报告任何错误。
  • 也许试试 python 3 看看它是否有效

标签: linux selenium google-chrome ubuntu selenium-chromedriver


【解决方案1】:

使用 webdriver-manager

webdriver-manager

下面 3 行应该可以为您完成这项工作:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install()) 

【讨论】:

    【解决方案2】:

    此错误消息...

    selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
      (Driver info: chromedriver=2.26.436382 (70eb799287ce4c2208441fc057053a5b07ceabac),platform=Linux 4.15.0-109-generic x86_64)
    

    ...暗示 ChromeDriver 无法启动/生成新的浏览上下文,即 Chrome 浏览器 会话。

    您的主要问题是您使用的二进制文件版本之间的不兼容性,如下所示:

    • 您正在使用 chromedriver=2.26
    • chromedriver=2.26 的发行说明明确提及以下内容:

    支持 Chrome v53-55

    • 可能您使用的是最新的 chrome=83.0
    • ChromeDriver v83.0 的发行说明明确提及以下内容:

    支持Chrome 83版

    所以 ChromeDriver v2.26 和 Chrome 浏览器 v83.0

    之间存在明显的不匹配

    解决方案

    确保:

    • JDK 升级到当前级别JDK 8u251。
    • Selenium 升级到当前级别 Version 3.141.59。
    • ChromeDriver 已更新到当前的ChromeDriver v83.0 级别。
    • Chrome 已更新至当前 Chrome 版本 83.0 级别。 (根据ChromeDriver v83.0 release notes)
    • 如果您的基本 Web 客户端 版本太旧,请卸载它并安装最新的 GA 和发布版本的 Web 客户端。
    • 清理你的项目工作区通过你的IDE和重建你的项目只需要依赖。
    • 如果您的基本 Web 客户端 版本太旧,请卸载它并安装最新的 GA 和发布版本的 Web 客户端。
    • 进行系统重启。
    • 以非root用户身份执行@Test。
    • 始终在 tearDown(){} 方法中调用 driver.quit() 以优雅地关闭和销毁 WebDriver 和 Web Client 实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 2017-06-17
      • 2017-09-07
      • 2022-01-15
      • 1970-01-01
      • 2014-04-28
      相关资源
      最近更新 更多