Selenium中的Chrome浏览器版本

2024-05-16 03:18:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在Ubuntu服务器中设置了一个Selenium Grid,并在Ubuntu桌面中设置了一个节点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: Message: Error forwarding the new session cannot find : Capabilities {browserName: chrome, browserVersion: 85.0.4183.83, goog:chromeOptions: {args: [--disable-extensions], extensions: []}, platformName: linux, version: }

但如果没有这条线,它绝对可以工作

另外,想知道是否有任何选项只传递浏览器的主要版本,如85,而不传递确切的版本号,如85.0.4183.83

提前感谢大家


Tags: 版本服务器节点ubuntulinuxseleniumextensionschrome
1条回答
网友
1楼 · 发布于 2024-05-16 03:18:20

解决了这个问题。由于版本信息未传递到中心,因此无法验证版本信息。因此,当从节点连接到集线器时,必须通过nodeConfig

节点配置.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")将起作用。因此,使用此选项,您现在可以指定要测试的操作系统浏览器,以及浏览器版本

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

相关问题 更多 >