WebDriverException:消息:在带有ChromeDriver和Selenium的Raspberry-Pi上,服务/usr/lib/chromium-browser/chromedriver意外退出 [英] WebDriverException: Message: Service /usr/lib/chromium-browser/chromedriver unexpectedly exited on Raspberry-Pi with ChromeDriver and Selenium

查看:112
本文介绍了WebDriverException:消息:在带有ChromeDriver和Selenium的Raspberry-Pi上,服务/usr/lib/chromium-browser/chromedriver意外退出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我编写了一个Python脚本,该脚本在浏览器中执行某些任务(使用Selenium),在Windows中运行良好.现在,我试图将其安装到我的Raspberry Pi上.

我进行了很多搜索,以找到使它与Chromium一起使用的最佳方法.我能找到的最好的地方是这个 Reddit链接.

问题是我找不到与我的Chromium版本(版本56.0.2924.84)相对应的chromedriver.当我进行apt-get升级时,它会告诉我我具有最新版本的Chromium.我已经尝试通过从 Launchpad链接下载来尝试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 .因此,考虑到这一限制,解决方案是从 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一致,也可能不一致.

  • 用于Raspberry Pi的ChromeDriver

    在使用 Raspberry Pi 时,您需要从此ChromeDriver 的 arm 格式. github.com/electron/electron/releases/download/v1.6.0/chromedriver-v2.21-linux-armv7l.zip"rel =" nofollow noreferrer>链接,并在程序中使用它.


    其他注意事项

    • 升级到当前级别> 版本3.11.0 > .
    • 按照上面的讨论
    • 升级 ChromeDriver .
    • 保持 Chrome 版本处于 Chrome v56.x 级别. (根据讨论)
    • 通过 IDE
    • 清理您的项目工作区重建您的项目,并且仅具有必需的依赖项.
    • 使用 CCleaner 工具清除之前和之后的所有操作系统杂项在执行 test Suite 之后.
    • 如果您的基本 Web客户端版本太旧,请通过来卸载. Revo Uninstaller 并安装最新版本的 Web客户端 GA和发行版.
    • 进行系统重启.
    • 执行您的@Test.

    I have written a python script that does some tasks in the browser (using Selenium), which works fine in Windows. Now I am trying to now get it onto my Raspberry Pi.

    I did a lot of searching to find the best way to get this to work with Chromium. The best I could find was at this Reddit Link.

    The problem is that I cannot find a chromedriver that jives with my version of Chromium (version 56.0.2924.84). And when I do apt-get upgrade it advises me that I have the newest version of Chromium. I've tried chromedriver versions 53 through 65 by downloading from this Launchpad Link.

    So when I run the following

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

    I get this error for chrome drivers > 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)
    

    or this error for chrome drivers < 58

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

    any help here would be appreciated

    解决方案

    As per your question your Chromium binary is of version 56.0.2924.84. So keeping this constraint in consideration the solution would be to download either of the following ChromeDriver version from ChromeDriver Google Storage

    • ChromeDriver v84: Supports Chrome v84
    • ChromeDriver v83: Supports Chrome v83
    • ChromeDriver v82: Was intentionally skipped
    • ChromeDriver v81: Supports Chrome v81
    • ChromeDriver v80: Supports Chrome v80
    • ChromeDriver v79: Supports Chrome v79
    • ChromeDriver v78: Supports Chrome v78
    • ChromeDriver v77: Supports Chrome v77
    • ChromeDriver v76: Supports Chrome v76
    • ChromeDriver v75: Supports Chrome v75
    • ChromeDriver v74: Supports Chrome v74
    • ChromeDriver v73: Supports Chrome v73
    • ChromeDriver v2.46: Supports Chrome v71-73
    • ChromeDriver v2.46: Supports Chrome v71-73
    • ChromeDriver v2.45: Supports Chrome v70-72
    • ChromeDriver v2.44: Supports Chrome v69-71 (same as ChromeDriver 2.43, but with additional bug fixes)
    • ChromeDriver v2.43: Supports Chrome v69-71
    • ChromeDriver v2.42: Supports Chrome v68-70
    • ChromeDriver v2.41: Supports Chrome v67-69
    • ChromeDriver v2.40: Supports Chrome v66-68
    • ChromeDriver v2.39: Supports Chrome v66-68
    • ChromeDriver v2.38: Supports Chrome v65-67
    • ChromeDriver v2.37: Supports Chrome v64-66
    • ChromeDriver v2.36: Supports Chrome v63-65
    • ChromeDriver v2.35: Supports Chrome v62-64
    • ChromeDriver v2.34: Supports Chrome v61-63
    • ChromeDriver v2.33: Supports Chrome v60-62
    • ChromeDriver v2.32: Supports Chrome v59-61
    • ChromeDriver v2.31: Supports Chrome v58-60
    • ChromeDriver v2.30: Supports Chrome v58-60
    • ChromeDriver v2.29: Supports Chrome v56-58
    • ChromeDriver v2.28: Supports Chrome v55-57
    • ChromeDriver v2.27: Supports 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.

    Here is how the new release model will work:

    • ChromeDriver will be using the same version number scheme as Chrome. See https://www.chromium.org/developers/version-numbers for more details.
    • Each version of ChromeDriver will support Chrome with matching major, minor, and build version numbers. For example, upcoming ChromeDriver 73.0.3683.* will support all Chrome versions that start with 73.0.3683.
    • Before a new major version of Chrome goes to Beta, a matching version of ChromeDriver will be released. For example, a new version of ChromeDriver will be release next week to match the Beta release of Chrome m73.
    • After the initial release of a new major version, we will release patches as needed. These patches may or may not coincide with updates to Chrome.

    ChromeDriver for Raspberry Pi

    As you are using Raspberry Pi you need to download the arm format of ChromeDriver from this link and use it within your program.


    Additional Considerations

    • Upgrade Selenium to current levels Version 3.11.0.
    • Upgrade ChromeDriver as per the above discussion.
    • Keep Chrome version at Chrome v56.x levels. (as per the discussion)
    • Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
    • Use CCleaner tool to wipe off all the OS chores before and after the execution of your test Suite.
    • If your base Web Client version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Web Client.
    • Take a System Reboot.
    • Execute your @Test.

    这篇关于WebDriverException:消息:在带有ChromeDriver和Selenium的Raspberry-Pi上,服务/usr/lib/chromium-browser/chromedriver意外退出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    相关文章
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆