当前位置: 首页 > 面试题库 >

我如何重新连接使用selenium的webdriver打开的浏览器?

刁浩言
2023-03-14
问题内容

由于某些未知原因,我的浏览器非常缓慢地打开了远程服务器的测试页。因此,我在考虑是否可以在退出脚本后重新连接到浏览器,但不执行webdriver.quit()此操作将使浏览器保持打开状态。这可能是HOOK或Webdriver句柄。我查找了seleniumAPI文档,但未找到任何功能。我正在使用Chrome
62,x64,windows 7,selenium3.8.0。如果问题能够解决,我将不胜感激。


问题答案:

,退出脚本后,您将无法重新连接到上一个 Web浏览会话 。即使你能提取Session IDCookies和其他会议从以前的属性
浏览器上下文 你仍然无法通过这些属性作为 _HOOK_到的webdriver。

一种更干净的方法是调用webdriver.quit(),然后跨越一个新的 浏览上下文

深潜

有关将 WebDriver 重新连接到现有的正在运行的 浏览上下文 的讨论和尝试很多。在“
允许webdriver附加到正在运行的浏览器中” 的讨论中, _ Simon Stewart_ [Creator WebDriver]明确提到:

  • 重新连接到现有的 浏览上下文 是浏览器特定的功能,因此无法以通用方式实现。
  • 使用internet-explorer,可以遍历OS中打开的窗口并找到要附加的正确IE进程
  • firefox和google-chrome需要以特定的模式和配置启动,这实际上意味着仅在技术上不可能附加到正在运行的实例。

tl; 博士

webdriver.firefox.useExisting未实现



 类似资料:
  • 问题内容: 我正在使用lang:java framework:testNG 我的系统安装了3-4个Mozilla版本,如何打开特定版本的Mozilla实例。假设我安装了3.5、3.6,…版本的Mozilla,并且我想打开3.6版本并执行测试。 问题答案: 只需指定版本的二进制文件的路径即可。

  • 问题内容: 我正在尝试使用selenium for python在浏览器中打开一个新选项卡或一个新窗口。如果打开新的选项卡或新窗口并不重要,仅打开浏览器的第二个实例才很重要。 我已经尝试了几种不同的方法,但都没有成功。 切换到一个不存在的窗口,希望它在找不到该窗口时会打开一个新窗口: 通过打开的窗口进行迭代(尽管目前只有一个) 尝试模拟键盘按键 driver.send_keys(Keys.CONT

  • 我已经手动为Google.com打开了一个浏览器窗口,还有另一个浏览器窗口是由selenium webdriver为Google.com打开的。 我如何识别哪一个是硒打开的? 这个问题是在一次采访中问我的。我回答说,selenium打开的窗口不会有插件,还有一个是用Driver。关闭,但面试官说还有其他办法也可以识别。

  • 问题内容: 我尝试使用rubyseleniumwebdriver运行一些基本的自动化测试。相同的代码在我的家用计算机上可以完美地工作,但是在我的工作计算机上却无法工作,而我的工作计算机位于代理后面(不需要身份验证)。 driver = Selenium :: WebDriver.for:firefox,:profile =>’默认’ 我得到的错误是: 浏览器将使用正确的配置文件打开,但驱动程序变量

  • 我尝试使用ruby selenium WebDriver运行一些基本的自动化测试。同样的代码在我的家用计算机上工作得很好,但在我的工作计算机上失败了,因为我的工作计算机后面有一个代理(不需要身份验证)。 有什么想法吗?