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

使用Capybara,如何切换到具有“ _blank”目标链接的新窗口?

张成济
2023-03-14
问题内容

也许这实际上不是我遇到的问题,但是似乎当我“单击_链接”与target =“ _ blank”的链接时,会话会将焦点集中在当前窗口上。

因此,我要么希望能够切换到新窗口,要么就忽略_blank属性-本质上,我只是希望它实际转到链接所指示的页面,因此我可以确保它是正确的页面。

我使用webkit和selenium驱动程序。

到目前为止,我已经提交了我的发现。一个更彻底的答案是极大的赞赏。

此外,这仅适用于selenium-非常感谢webkit驱动程序的等效功能(或指出我自己可以在哪里发现它)。


问题答案:

Capybara> = 2.3包括新的窗口管理API。可以像这样使用:

new_window = window_opened_by { click_link 'Something' }
within_window new_window do
  # code
end


 类似资料:
  • 问题内容: 寻找有关如何获得新的“弹出”窗口的帮助,该窗口在单击“登录”按钮后触发显示。 我能够到达显示窗口的时间,但是我不相信我当前用来获取窗口“句柄”的代码是否正常运行。我的情况有所不同,因为我在页面内使用量角器,但是出现的新窗口不是基于角度的,因此当我在该窗口中时,我必须切换为仅使用Selenium WebDriver。(任何人都不知道这种方法是否有问题?) 在下面,您可以找到我用来创建se

  • 我正在使用Python进行selenium自动化项目。 我面临一个问题,这是处理多个浏览器窗口。 场景如下所示。当我单击主页上的链接时,将打开一个新窗口。在新打开的窗口中,我无法执行任何操作,因为焦点仍然在主页web驱动程序上。 谁能告诉我如何将焦点从背景窗口转换到新打开的窗口? 一种可能的解决方案是,但它需要窗口的名称。如何找出窗口的名字?如果这是一个错误的方法,谁能给出一些代码例子来执行这个操

  • 我看到HTML5 sessionStorage在跟踪Weblinks时的不同行为。有时第一个页面的sessionStorage被复制到TargetPage,有时我在TargetPage上得到一个空的sessionStorage。 谁能给我解释一下,为什么会这样? 给定以下链接: 任何帮助都很感激!

  • 问题内容: 寻找有关如何获得新的“弹出”窗口的帮助,该窗口在单击“登录”按钮后触发显示。 我能够到达显示窗口的时间,但是我不相信我当前用来获取窗口“句柄”的代码是否正常运行。我的情况有所不同,因为我在页面内使用量角器,但是出现的新窗口不是基于角度的,因此当我在该窗口中时,必须切换为仅使用Selenium WebDriver。(任何人都不知道这种方法是否有问题?) 在下面,您可以找到我用来创建sel

  • 我一直在寻找这个问题的答案。我正在IE8中使用Selenium Webdriver和C#进行测试。在测试的某一点上,我需要单击一个按钮,然后打开一个新的应用程序窗口,其中包含需要填写的表单以继续测试。 我试过: 所以应该点击开始弹出事件的元素,然后开关应该把它放在弹出窗口上,这样我就可以继续测试了。现在的问题是。当单击时,我正在测试的应用程序创建一个弹出窗口,然后关闭该弹出窗口,然后出现另一个弹出

  • 我对python和Splint是新手。我阅读了关于splinter的文档,但它没有提到selenium库中关于switch_to like的任何内容。 当我运行这段代码时,我得到一个错误。 任何想法都欢迎。谢了!