带有无头铬的硒在切换选项卡时无法获取 URL



我目前正在用Specflow运行Selenium。

我的一个测试点击了一个按钮,该按钮会触发pdf文件的下载。 该文件会在新选项卡中自动打开,然后测试会获取 url 并将引用的文件直接下载到 Selenium 项目。 当chrome驱动程序正常运行但在无头浏览器上失败并出现以下错误时,整个过程可以完美运行:

对远程 Web 驱动程序服务器的 URL http://localhost:59658/session/c72cd9679ae5f713a6c857b80c3515e4/url HTTP 请求超时 60秒后。-> 请求已中止:操作已超时。

尝试运行driver.Url时会发生此错误

driver.Url调用在代码中的其他位置工作。只有在无头浏览器切换选项卡后,它才会失败。(是的,我正在使用驱动程序切换窗口(

作为参考,如果不单击第一页上的按钮并切换选项卡,我就无法获取此 URL,因为单击按钮后会自动生成 url。

我相信您只是使用参数作为"--无头"以获得更好的性能,您也应该选择屏幕尺寸。有时,由于屏幕尺寸不合适,它无法检测到您正在寻找的功能。尝试使用此代码或仅添加一行大小。

from selenium import webdriver
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=1920x1080")
driver = webdriver.Chrome(chrome_options=chrome_options)

不要忘记根据您的需要在"驱动程序"中放置其他参数。

相关内容

  • 没有找到相关文章

最新更新