由于某些未知原因,我的浏览器非常缓慢地打开了远程服务器的测试页。因此,我在考虑是否可以在退出脚本后重新连接浏览器,但不执行webdriver.quit()
,这将使浏览器保持打开状态。这可能是HOOK或Webdriver句柄。
我查找了硒API文档,但未找到任何功能。
我正在使用Chrome 62,x64,windows 7,硒3.8.0。
如果问题能够解决,我将不胜感激。
最佳答案
不,退出脚本后,您将无法重新连接到上一个Web浏览会话。即使您能够从以前的浏览上下文中提取Session ID
,Cookies
和其他会话属性,您仍然无法将这些属性作为HOOK传递给WebDriver。
一种更干净的方法是调用webdriver.quit()
,然后跨越一个新的浏览上下文。
深潜
有关将WebDriver重新连接到现有的正在运行的浏览上下文的讨论和尝试很多。在讨论中,Allow webdriver to attach to a running browser Simon Stewart [Creator WebDriver]明确提到:
重新连接到现有的浏览上下文是浏览器特定的功能,因此无法以通用方式实现。
使用internet-explorer,可以遍历OS中打开的窗口并找到要附加的正确IE进程。
firefox和google-chrome需要以特定的模式和配置启动,这实际上意味着
从技术上讲不可能附加到正在运行的实例。
tl;博士
webdriver.firefox.useExisting not implemented
关于python-3.x - 我如何重新连接使用 Selenium 的webdriver打开的浏览器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61955718/