首页 > 解决方案 > Selenium 已停止工作,chrome 版本不匹配

问题描述

在我的 CI 上,selenium 最近开始失败:

selenium.common.exceptions.WebDriverException: Message: chrome not reachable
  (Session info: headless chrome=73.0.3683.75)
  (Driver info: chromedriver=2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),platform=Linux 4.4.0-141-generic x86_64)

这是在 django SeleniumTestCase 中,带有一个自定义的 webdriver,如下所示:

class WebDriver(web_driver_module.WebDriver):
    """Our own WebDriver with some helpers added"""

    def __init__(self, *args, **kwargs):
        chrome_options = kwargs.get("chrome_options", Options())
        chrome_options.add_argument("--headless")
        chrome_options.add_argument("--no-sandbox")
        chrome_options.add_argument("--disable-dev-shm-usage")
        kwargs["chrome_options"] = chrome_options
        super().__init__(*args, **kwargs)

奇怪的是,当我apt install chromedriver(事先)得到以下信息时:

Preparing to unpack .../36-chromium_72.0.3626.122-1~deb9u1_amd64.deb ...

这与WebDriverException. 到底是怎么回事?

标签: djangoseleniumselenium-chromedriver

解决方案


这与 Chrome 版本或位置__init__无关,似乎不再需要其中的内容,并且其中某些部分与最新的 Chrome 不兼容。删除整个chrome_options部分解决了这个问题。


推荐阅读