【发布时间】:2016-04-07 20:13:34
【问题描述】:
我想测试单击同一页面上的多个链接,但随后能够切换活动选项卡。但是,一旦我单击带有 target=_blank 的链接,或者如果我故意打开一个新选项卡,它会将我引导到一个新选项卡,而我无法返回旧选项卡。
注意:我使用 Firefox 进行测试。 Chrome 确实可以正常工作并提供 2 个窗口数
这是一个简单的 IRB sn-p 来说明我的意思:
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 上运行
【问题讨论】:
-
除非您由亚马逊支付费用来测试他们的网站,否则您不应该针对他们的网站进行任何浏览器自动化,因为这违反了他们的使用条件。特别是
This license does not include... ...any derivative use of any Amazon Service or its contents; any downloading, copying, or other use of account information for the benefit of any third party; or any use of data mining, robots, or similar data gathering and extraction tools.——任何浏览器自动化工具,都适合“机器人或类似”条款。 -
...我只是用亚马逊作为一个简单的例子,因为我正在测试的网站还没有上线。我想我得选择一个不同的网站来举个例子,以供将来参考lol
-
我不太明白你在这里问什么,但值得在这里查看我的 Windows 处理答案:stackoverflow.com/questions/16222446/…
-
我澄清了这个问题,并确实发现 Chrome 在单击时确实会将所有窗口保留在浏览器对象中。 @SveatoslavCircel 感谢您发布那篇文章,因为这基本上是我的问题,为什么您的切换标签的答案在 Firefox 中对我不起作用?
-
不知道,作为一种解决方法,您可以实例化另一个浏览器实例,在那里做一些事情,然后关闭它并返回到初始实例。
标签: ruby watir watir-webdriver