我想测试点击同一页面上的多个链接,但之后可以切换活动标签。但是,一旦我点击了一个带有target = _blank的链接,或者我是故意打开一个新标签,它就会将我引导到一个新选项卡,我无法返回旧选项卡。
注意:我正在使用Firefox进行测试。 Chrome确实可以正常运行,窗口数量为2
这是一个简单的IRB代码段,用于显示我的意思:
2.2.1 :001 > require 'watir-webdriver'
=> true
2.2.1 :002 > b = Watir::Browser.new :firefox, :profile => 'default'
=> #<Watir::Browser:0x..fa8c7116334ddce82 url="about:blank" title="">
2.2.1 :003 > b.goto 'amazon.com'
=> "http://amazon.com"
2.2.1 :004 > b.a(:class => 'nav-logo-link').click(:command, :shift)
=> nil
2.2.1 :005 > b.windows.count
=> 1
我看到打开了两个标签,(:command, :shift)
选项是打算做的..但如果浏览器对象只有一个窗口,如何返回第一个标签?
似乎我找不到任何人遇到同样的问题所以也许它可能是firefox问题或我的环境?
在Mac OSX上运行,FF版本44,Ruby 2.2.1,watir-webdriver 0.9.1
答案 0 :(得分:1)
检查出来:
require 'watir-webdriver'
b = Watir::Browser.new
b.goto "amazon.com"
link = b.a(:class => 'nav-logo-link')
b.execute_script("return arguments[0].target = '_blank'", link)
link.click
puts b.windows.count
主要思想不是尝试以特殊方式使用链接来获取两个窗口,而是修改链接以自然方式获得两个窗口。