【发布时间】:2020-12-14 17:02:50
【问题描述】:
我已经设置了一个 Selenium Grid,其中包含 Ubuntu Server 中的一个 Hub 和 Ubuntu Desktop 中的一个节点。 Node 上的 Google Chrome 版本是 Version 85.0.4183.83 (Official Build) (64-bit)。我创建会话的python代码是
# Add Chrome options
options = webdriver.ChromeOptions()
options.add_argument("--disable-extensions")
options.set_capability("browserVersion", "85.0.4183.83")
options.set_capability("platformName", "linux")
# Open a remote browser Session
driver = webdriver.Remote(
command_executor='http://192.168.56.7:4444/wd/hub',
options=options
)
但是当我通过 options.set_capability("browserVersion", "85.0.4183.83") 时,它给出了错误
selenium.common.exceptions.WebDriverException:消息:转发新会话时出错,找不到:Capabilities {browserName:chrome,browserVersion:85.0.4183.83,goog:chromeOptions:{args:[--disable-extensions],扩展: []},平台名称:linux,版本:}
但如果没有那条线,它绝对可以正常工作。
另外,想知道是否有任何选项可以只传递浏览器的主要版本,比如85,而不传递确切的版本号,比如85.0.4183.83。
在此先感谢大家。
【问题讨论】:
-
情况是chrome不让你下载以前的版本。您可以坚持使用当前版本。但是,一旦您重新创建该虚拟机,它将安装最新的 chrome。另一个问题是最新的 chrome 并不总是与 chromedriver 兼容。您可以使用我认为更稳定的 firefox。
-
@slackingslacker 谢谢你的回复。所以你是说这是由于它造成问题的最新版本?
-
最终你的 chrome 更新了,chromedriver 因版本而异。请参阅此link。对于 firefox,geckodriver 对浏览器版本的兼容性范围更广。
-
还有没有办法只通过浏览器的主要版本而不匹配完整版本?
-
我不确定是否有。您可以查看here
标签: python selenium google-chrome selenium-chromedriver browser-automation