我在Ubuntu Server中设置了一个Selenium Grid,在Ubuntu Desktop中设置了一个Hub,在Ubuntu Desktop中设置了一个Node。Node上的GoogleChrome版本是版本85.0.4183.83(官方构建)(64位)
。我创建会话的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")
时,它会出错
硒。常见的例外情况。WebDriverException:消息:转发新会话时出错,找不到:功能{browserName:chrome,browserVersion:85.0.4183.83,goog:chromeOptions:{args:[--禁用扩展],扩展:[]},平台名: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
现在正在传递选项。set\u功能(“BrowServerVersion”,“85.0”)将起作用。因此,现在可以使用它指定要测试的操作系统、浏览器和浏览器版本。
参考:-https://www.selenium.dev/documentation/en/grid/grid_3/setting_up_your_own_grid/
导入init.constants; 公共类TestSelenium{ } WebDriver-3.0
我的chrome浏览器在Selenium Webdriver中没有打开。根据兼容性,我已经下载了所有的东西,如chrome driver,Selenium jars和chrome。我使用的是Intellij IDEA IDE。代码和版本细节如下- 版本: Chrome:89.0.4389.90 IDE:IntelliJ IDE:203.7148.57 Chrome驱动程序:https://chro
每当我尝试时,它都会说Chrome意外关闭并要求重新打开。在python末尾,它给出了错误: 我的代码是: 更新:在详细模式下运行会产生以下结果:
我的代码没有启动浏览器。 项目显示运行了很长时间,但什么也没有发生。我按下print,发现没有执行。 我添加了manifest_vesion,但在每次运行中,它都生成一个新文件,而我再次得到相同的错误。
控制台的使用 控制台查看源码 控制台的 Sources标签可以查看源码。按住快捷键「cmd + P」,可以根据文件名查找源码文件。 其他 show user agent shadow DOM 把上图中的红框部分打钩。
我使用以下命令在同一台计算机上启动了集线器和节点: 我尝试使用以下代码实例化一个浏览器窗口: 页面获取成功,我可以使用browser.page看到页面的超文本标记语言代码_source但是节点上的Chrome窗口没有打开。我根本没有指定无头选项。我使用的是95版Chrome和Chromedrive。 请注意,我是在jupyter笔记本上运行代码的,该笔记本托管在充当selenium服务器和节点的同