我使用以下命令在同一台计算机上启动了集线器和节点:
xvfb-run -a java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone.jar -role hub
xvfb-run -a java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone.jar -port 7777 -role node -hub http://192.168.111.253:4444/grid/register -browser browserName="chrome",version=ANY,platform=LINUX,maxInstances=5
我尝试使用以下代码实例化一个浏览器窗口:
options = webdriver.ChromeOptions()
options.add_argument("no-sandbox")
options.add_argument("--disable-gpu")
options.add_argument("--window-size=800,600")
options.add_argument("--disable-dev-shm-usage")
browser = webdriver.Remote(
command_executor=f"http://192.168.111.253:4444/wd/hub",
options=options
)
browser.get(r"https://www.google.com")
页面获取成功,我可以使用browser.page看到页面的超文本标记语言代码_source但是节点上的Chrome窗口没有打开。我根本没有指定无头选项。我使用的是95版Chrome和Chromedrive。
请注意,我是在jupyter笔记本上运行代码的,该笔记本托管在充当selenium服务器和节点的同一台机器上。我从同一局域网上的另一台计算机访问笔记本电脑。
任何帮助都将不胜感激。谢谢你。
因为UI意味着渲染到一些图形设备,所以你必须有一个屏幕来运行UI应用程序。虚拟帧缓冲区是一种虚拟屏幕,通常在没有插入屏幕的主机上使用。
因此,除非您在上述情况下,否则您不应该使用xvfb-run
,而是以正常方式运行节点,这意味着呈现到您的本地显示。
如果您仍想使用虚拟屏幕,可以尝试此解决方案查看其中发生的情况:https://stackoverflow.com/a/28426615/8343843
附言 - 我建议使用泊坞窗硒映像,而不是在xvfb中运行浏览器。
线程“main”java.lang.IllegalStateException中的异常:驱动程序可执行文件的路径必须由WebDriver.Chrome.driver系统属性设置;有关更多信息,请参见https://github.com/seleniumhq/selenium/wiki/chromedriver。最新版本可从http://chromedriver.storage.googleapis
我突然遇到了硒和铬驱动的错误问题。我还没有改变一件事,但我遇到了这些错误信息。这个脚本在几个小时前就开始工作了,现在没有任何调整,它不工作了。 这是我对应的代码: 更奇怪的是,当打开新终端、加载python并从selenium import webdriver中键入时,我没有收到任何错误。但是,当我导航到脚本所在的文件夹,并从selenium import webdriver加载python和类型
我使用以下内容注册我的节点(与集线器相同的机器): java-Dwebdriver.chrome。驱动程序= 但是,当我执行测试用例时,只启动了4个浏览器。是否有我遗漏的设置或在不知不觉中使用了一些默认设置?请帮忙。
问题内容: 抱歉,您有愚蠢的问题,但是如何在webdriver中启动Chrome浏览器?我知道我必须指定chromedriver.exe的路径。问题是我无法下载chromedriver.exe,它已被删除。我发现的文件也没有.exe扩展名。我正在使用Eclipse,Java。请帮忙!我按照建议的步骤进行了所有操作,但是没有用。这是我的代码: 这是错误: 失败:测试java.lang.Illegal
每当我尝试时,它都会说Chrome意外关闭并要求重新打开。在python末尾,它给出了错误: 我的代码是: 更新:在详细模式下运行会产生以下结果:
我可以在下面/上面的代码帮助下启动Chrome浏览器的空窗口,但他们是一些错误,我得到了