django - 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
. 到底是怎么回事?
解决方案
这与 Chrome 版本或位置__init__
无关,似乎不再需要其中的内容,并且其中某些部分与最新的 Chrome 不兼容。删除整个chrome_options
部分解决了这个问题。
推荐阅读
- amazon-web-services - 我们可以使用 AWS Data Migration Service 从 Aurora Serverless 作为源进行复制吗?
- c# - 替换完全匹配的字符串
- c++ - 如何在 C++ 中将迭代器作为函数参数传递
- token - 如何仅使用 OAuth 访问令牌将 ibm watson 聊天机器人与 slack 集成
- c++ - MinGW 的“-fno-elide-constructors”的类似物是什么?
- mediawiki - 具有多个表达式的 mediawiki api 搜索查询
- java - 在枚举中实现 Runnable
- django - 如何在Django rest框架中嵌套抽象关系?
- regex - 如何在 PowerShell 中使用带有正则表达式的条件语句?
- embedded-linux - 嵌入式 Linux 的启动卡住了。如何调试?