我已经在Ubuntu服务器中设置了一个硒网格,在Ubuntu桌面中设置了一个节点节点上的谷歌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.com.mon.exceptions.WebDriverException:消息:转发新会话时出错找不到:功能{browserName:chrome,browserVersion:85.0.4183.83,goog:chromeOptions:{args:[-disable extensions],extensions:[]},platformName:linux,版本:}
但如果没有这一行,它绝对可以正常工作。
此外,我想知道是否有任何选项可以只传递浏览器的主要版本(如85
(,而不传递确切的版本号(如85.0.4183.83
(。
提前感谢大家。
解决了问题。由于版本信息未传递到HUB,因此无法验证版本信息。因此,当从NODE连接到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、Browser和Browser版本。
参考号:-https://www.selenium.dev/documentation/en/grid/grid_3/setting_up_your_own_grid/