python - 网络驱动程序异常 : Message: Service/usr/lib/chromium-browser/chromedriver unexpectedly exited on Raspberry-Pi with ChromeDriver and Selenium

标签 python selenium google-chrome raspberry-pi selenium-chromedriver

我编写了一个 python 脚本,它在浏览器中执行一些任务(使用 Selenium),它在 Windows 中运行良好。现在我正在尝试将它安装到我的 Raspberry Pi 上。

我进行了大量搜索以找到使它与 Chromium 一起使用的最佳方法。我能找到的最好的是这个 Reddit Link .

问题是我找不到适合我的 Chromium 版本(56.0.2924.84 版)的 chromedriver。当我执行 apt-get upgrade 时,它​​会告诉我我拥有最新版本的 Chromium。我已经通过从这个 Launchpad Link 下载来尝试 chromedriver 版本 53 到 65 .

所以当我运行以下命令时

from selenium import webdriver
driver_path = 'usr/lib/chromium-browser/chromedriver'
driver = webdriver.Chrome(driver_path)

我收到 chrome 驱动程序的错误 > 58

selenium.common.exceptions.SessionNoteCreatedException: Message: session not 
created exception: Chrome version must be >= 59.0.3071.0
(Driver info: chromedriver=2.43,platform=Linux 4.9.35-v7+ armv7l)

或者 chrome 驱动程序 < 58 的这个错误

selenium.common.exceptions.WebDriverException: Message: 
Service /usr/lib/chromium-browser/chromedriver unexpectedly exited. Status code was: 127

如有任何帮助,我们将不胜感激

最佳答案

根据您的问题,您的 Chromium 二进制文件是版本 56.0.2924.84。因此,考虑到这一限制,解决方案是从 ChromeDriver Google Storage 下载以下任一 ChromeDriver 版本。

  • ChromeDriver v84:支持 Chrome v84
  • ChromeDriver v83:支持 Chrome v83
  • ChromeDriver v82:被故意跳过
  • ChromeDriver v81:支持 Chrome v81
  • ChromeDriver v80:支持 Chrome v80
  • ChromeDriver v79:支持 Chrome v79
  • ChromeDriver v78:支持 Chrome v78
  • ChromeDriver v77:支持 Chrome v77
  • ChromeDriver v76:支持 Chrome v76
  • ChromeDriver v75:支持 Chrome v75
  • ChromeDriver v74:支持 Chrome v74
  • ChromeDriver v73:支持 Chrome v73
  • ChromeDriver v2.46:支持 Chrome v71-73
  • ChromeDriver v2.46:支持 Chrome v71-73
  • ChromeDriver v2.45:支持 Chrome v70-72
  • ChromeDriver v2.44:支持 Chrome v69-71(与 ChromeDriver 2.43 相同,但修复了其他错误)
  • ChromeDriver v2.43:支持 Chrome v69-71
  • ChromeDriver v2.42:支持 Chrome v68-70
  • ChromeDriver v2.41:支持 Chrome v67-69
  • ChromeDriver v2.40:支持 Chrome v66-68
  • ChromeDriver v2.39:支持 Chrome v66-68
  • ChromeDriver v2.38:支持 Chrome v65-67
  • ChromeDriver v2.37:支持 Chrome v64-66
  • ChromeDriver v2.36:支持 Chrome v63-65
  • ChromeDriver v2.35:支持 Chrome v62-64
  • ChromeDriver v2.34:支持 Chrome v61-63
  • ChromeDriver v2.33:支持 Chrome v60-62
  • ChromeDriver v2.32:支持 Chrome v59-61
  • ChromeDriver v2.31:支持 Chrome v58-60
  • ChromeDriver v2.30:支持 Chrome v58-60
  • ChromeDriver v2.29:支持 Chrome v56-58
  • ChromeDriver v2.28:支持 Chrome v55-57
  • ChromeDriver v2.27:支持 Chrome v54-56

Note: A few months ago, Chromium Team made a preliminary announcement that ChromeDriver's versioning model will be changing. Chromium Team is moving forward with the plan. Specifically, ChromeDriver 2.46 will be the last release carrying the major version of 2. Future ChromeDriver releases will carry a version number similar to Chrome release. We will start with a release of ChromeDriver 73 next week, before the Beta release of Chrome 73.

新发布模型的工作方式如下:

  • ChromeDriver 将使用与 Chrome 相同的版本号方案。参见 https://www.chromium.org/developers/version-numbers了解更多详情。
  • ChromeDriver 的每个版本都将通过匹配的主要版本号、次要版本号和构建版本号来支持 Chrome。例如,即将推出的 ChromeDriver 73.0.3683.* 将支持所有以 73.0.3683 开头的 Chrome 版本。
  • 在 Chrome 的新主要版本进入 Beta 之前,将发布匹配版本的 ChromeDriver。例如,下周将发布新版本的 ChromeDriver,以匹配 Chrome m73 的 Beta 版本。
  • 在新的主要版本首次发布后,我们将根据需要发布补丁。这些补丁可能会或可能不会与 Chrome 更新一致。

用于树莓派的 ChromeDriver

当您使用Raspberry Pi 时,您需要从这个link 下载ChromeDriverarm 格式并在您的程序中使用它。


其他注意事项

  • Selenium 升级到当前水平 Version 3.11.0 .
  • 根据上述讨论升级ChromeDriver
  • Chrome 版本保持在 Chrome v56.x 级别。 (根据讨论)
  • 清理您的项目工作区,通过您的IDE重建您的项目,仅使用所需的依赖项。
  • 使用CCleaner用于在执行您的测试套件之前和之后清除所有操作系统杂务的工具。
  • 如果您的基本 Web Client 版本太旧,请通过 Revo Uninstaller 卸载它。并安装最新的 GA 和发布版本的 Web Client
  • 系统重启
  • 执行你的 @Test .

关于python - 网络驱动程序异常 : Message: Service/usr/lib/chromium-browser/chromedriver unexpectedly exited on Raspberry-Pi with ChromeDriver and Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49796818/

相关文章:

java - 如何使用 Selenium Webdriver 单击 ul 内的 li

python - 使用 scrapy 遍历 selenium 中的链接

java - 将视频流渲染为部分内容而不是完整流到 chrome

javascript - window.location.href - 资源被解释为文档但以 MIME 类型传输

python - 如何从文本中提取所有表情符号?

python - 轮渡票务程序 Python

javascript - 将 Selenium-IDE 与丰富的 Javascript 应用程序一起使用?

Chrome 中的 CSS 抖动/抖动错误?居中 div 的宽度过渡

python - 有没有基于索引和列的 Pandas 方法?

python - 在 Python 中从 CSV 文件创建混合图表