【问题标题】:watir webdriver: how to switch to another window open with targetwatir webdriver:如何切换到另一个用目标打开的窗口
【发布时间】:2013-03-05 20:12:42
【问题描述】:

我正在使用 watir-webdriver,当单击带有 target="_blank" 的链接时,它会打开一个新窗口,我无法控制,但仍需要验证是否打开了 404 页面以外的内容,并且如果该新窗口的标题包含一些关键字。我不知道那个窗口的标题会是什么(它一直不一样),所以this solution 没有帮助。

是否有任何已知的方法可以通过 watir-webdriver 处理那些 target="_blank" 窗口?

【问题讨论】:

    标签: webdriver watir watir-webdriver


    【解决方案1】:

    既然您知道新窗口的标题应该有特定的形式,您应该能够使用正则表达式(用“/”表示的正则表达式)通过其标题找到它。

    browser.window(:title => /known part of title/).use do
      #Whatever you want to do with the popup
    end
    

    或者,如果您真的对弹出窗口一无所知,您可以获取最后创建的窗口:

    browser.windows.last.use do
      #Whatever you want to do with the popup
    end
    

    【讨论】:

    • @paul,抱歉,如果没有格式化,评论很难阅读。您应该使用您的具体示例更新您新创建的问题(包括您遇到的错误)。 Watir 代码是正确的。问题可能是您还与 Page-Object gem 混合。
    【解决方案2】:

    http://watirwebdriver.com/browser-popups/ 上有 watir-webdriver window switching spec 的链接。您应该可以通过:title:url:index 找到窗口。规范中的示例:

    browser.window(:index => 1).use
    browser.window(:url => /closeable\.html/).use
    browser.window(:title => "closeable window").use
    

    【讨论】:

    • 第一行错误 - 语法错误,意外 ':',期待 ')' browser.window(index: => 1).use
    • index: => 1 无效。试试:index => 1(或index: 1)。
    猜你喜欢
    • 2022-12-18
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    相关资源
    最近更新 更多