硒中的Chrome浏览器版本

问题描述

我已经建立了一个 Selenium Grid ,其中在Ubuntu Server中使用了一个Hub ,在Ubuntu Desktop中使用了一个节点节点上的 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:消息:转发新会话时出错:功能{browserName:chrome,浏览器版本:85.0.4183.83,goog:chromeOptions:{args:[--disable-extensions],扩展名: []},platformName:linux,版本:}

但是没有那一行,它绝对可以正常工作。

此外,我想知道是否可以选择仅通过浏览器的主要版本(例如85而不通过确切的版本号(例如85.0.4183.83)。

谢谢大家。

解决方法

解决了该问题。由于版本信息未传递到 HUB ,因此无法验证版本信息。因此,从节点连接到 HUB 时必须通过 nodeConfig

node-config.json

{
  "capabilities": [
    {
      "browserName": "firefox","browserVersion": "79.0"
    },{
      "browserName": "chrome","browserVersion": "85.0"
    }
  ]
}

然后使用

开始连接
java -jar selenium-server-standalone-3.141.59.jar -role node -hub http://[HUB-IP]:4444/grid/register/ -nodeConfig node-config.json

现在通过options.set_capability("browserVersion","85.0")就可以了。因此,现在您可以使用它指定要测试的 OS 浏览器浏览器版本

参考:-https://www.selenium.dev/documentation/en/grid/grid_3/setting_up_your_own_grid/