【问题标题】:Controlling new tab to operate using Watir? (Ruby)控制新选项卡以使用 Watir 进行操作? (红宝石)
【发布时间】:2012-09-17 10:46:43
【问题描述】:

我正在使用 watir 进行自动化测试,在运行了一些表格后,一个图表会在新选项卡中打开。但 watir 似乎无法识别新的当前选项卡并继续搜索原始浏览器选项卡。

有什么方法可以告诉你要使用哪个标签?

【问题讨论】:

    标签: ruby watir


    【解决方案1】:

    Watir 不关心新页面是在新窗口中打开还是在新标签页中打开,因此使用窗口切换 API 切换到新标签页:

    browser.window(:title => "annoying popup").use do
      browser.button(:id => "close").click
    end
    

    更多信息:http://watirwebdriver.com/browser-popups/

    【讨论】:

      【解决方案2】:

      您可以使用此代码

      browser.windows.last.use
      

      这会将 watir 的焦点设置为新打开或最后打开的选项卡或窗口,并且在完成使用此新选项卡/窗口后,只需告诉 watir 关闭该选项卡/窗口

      browser.windows.last.close
      

      【讨论】:

        【解决方案3】:

        窗口有 3 个主要选择器:

        • :title - 通常是最简单的

        • :url - 通常与正则表达式值一起使用

        • :element - 一个独特的元素可能是最不脆弱的(从 Watir 6.18 开始的新元素!)

          browser.window(title: '新窗口') browser.window(网址:/my_page.html/) browser.window(element: browser.div(id: 'my-element'))

        不再支持按索引定位

        更多信息:Watir Browser Windows

        【讨论】:

          【解决方案4】:
          @browser.windows[x].use
          

          将“x”替换为您要使用的标签编号。 @browser.windows 是一个 Watir 集合,为此可以将其视为一个数组。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-06-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-06-22
            • 2011-02-08
            相关资源
            最近更新 更多