如何用Selenium重新连接由Webriver打开的浏览器?

如何用Selenium重新连接由Webriver打开的浏览器?

由于一些未知的原因,我的浏览器打开远程服务器的测试页面非常缓慢。所以我在想,在退出脚本后,是否可以重新连接到浏览器,但不要执行webdriver.quit()这将使浏览器打开。它可能是一种钩子或WebDriverHandle。我已经查找了SeleniumAPI文档,但没有找到任何函数。我使用的是Chrome 62,x64,Windows 7,Selenium 3.8.0。这个问题能否解决,我将不胜感激。



catspeake
浏览 1664回答 4
4回答

炎炎设计

不,您无法重新连接到前面的Web Browser退出脚本后的会话。即使您能够提取Session ID, Cookies的其他会话属性Browsing Session仍然无法将这些属性作为钩子传递到WebDriver.一个更干净的方法就是打电话webdriver.quit()然后跨越一个新的Browsing Session.历史:以前曾有过一些讨论和试图重新连接的尝试。WebDriver当前正在运行的浏览会话。您可以在这些QA中找到讨论:Allow webdriver to attach to a running browser[docs] webdriver.firefox.useExisting not implemented

慕桂英4014372

如果不深入了解为什么您认为离开打开的浏览器窗口将解决缓慢的问题,您实际上不需要一个句柄来做到这一点。只需继续运行测试,而不关闭会话,或者,换句话说,不调用driver.quit()就像你提到的那样。这里的问题,虽然框架,与它自己的运行?比如黄瓜?无论如何,您必须有一些“安装”和“清理”代码。因此,您需要做的是确保在“清理”阶段浏览器返回其初始状态。这意味着:显示空白页。为会话删除cookie。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python