使用webdriver将焦点放在新打开的浏览器上

时间:2016-04-27 13:34:24

标签: ruby selenium-webdriver watir-webdriver ui-automation

我正在使用ruby和watir-webdriver来自动化Web应用程序,当我点击按钮并且我已经在新打开的窗口上填写表单时,我遇到了打开新浏览器的场景。 Webdriver无法将其识别为窗口。

无论如何处理这种情况?据我所知,我们无法连接到不是由webdriver启动的浏览器实例。

我使用以下代码检查窗口是否存在

@browser.window(:title => /#{title}/i).wait_until_present

我还尝试使用下面的代码来检查所有打开的窗口但是新的浏览器实例没有进入列表

@browser.windows.each { |w| p w.title}

1 个答案:

答案 0 :(得分:0)

我相信Watir::Window#use是针对这个确切的用例而开发的。它切换到不同的窗口,执行操作(作为代码块传递),然后切换回原始窗口。例如:

@browser.window(title: /#{title}/i).use do
  # Whatever you need to do on the new window, like:
  @browser.text_field(id: "some-id").set "Foo"
  @browser.button(id: "submit").click
end