由于一些未知的原因,我的浏览器打开远程服务器的测试页面的速度非常慢。因此,我在想,如果退出脚本后可以重新连接到浏览器,但不执行webdriver.quit()
这将使浏览器保持打开状态。它可能是一种钩子或webdriver句柄。
我已经查找了selenium API文档,但没有找到任何函数。
我使用的是Chrome62,x64,Windows7,Selenium3.8.0。
这个问题能否解决,我将不胜感激
否,退出脚本后无法重新连接到上一个Web浏览会话。即使您能够从以前的浏览上下文中提取会话ID
、Cookies
和其他会话属性,您仍然无法将这些属性作为钩子传递给WebDriver
更简洁的方法是调用webdriver.quit()
,然后跨越一个新的浏览上下文
深潜
在重新连接WebDriver到现有运行的浏览上下文方面,已经进行了很多讨论和尝试。在讨论中,允许webdriver连接到正在运行的浏览器中,Simon Stewart清楚地提到:
- 重新连接到现有的浏览上下文是特定于浏览器的功能,因此无法以通用方式实现
- 使用internet explorer,可以迭代操作系统中打开的窗口,并找到要连接的正确IE进程
- firefox和google chrome需要以特定的模式和配置启动,这实际上意味着
附加到正在运行的实例在技术上是不可能的
tl;博士
webdriver.firefox.useExisting未实现