【问题标题】:How do I open tabs using a Watir in ruby如何在 ruby​​ 中使用 Watir 打开选项卡
【发布时间】:2014-10-16 15:32:45
【问题描述】:

我正在尝试使用 Watir webdriver 在 Firefox 中创建其他选项卡。但是,我运气不太好

打开浏览器后:

require 'watir-webdriver' b =Watir::Browser.new

我想打开标签,但不知道如何访问浏览器上的“打开新标签”按钮。那我怎么能创建一个新标签呢?

【问题讨论】:

标签: ruby selenium watir-webdriver


【解决方案1】:

如前所述,Selenium 不明确支持打开选项卡,但是有一些“解决方法”,例如...

require 'watir-webdriver'
browser = Watir::Browser.new :ff
browser.goto 'http://the-internet.herokuapp.com'
browser.link(:text, 'A/B Testing').click(:command, :shift)
browser.windows.last.use

这将在新选项卡中打开链接(在 Mac 上)并聚焦它

【讨论】:

  • 我需要在 windows 上为 chrome 执行 ctrl+T。这不起作用 - browser.some_link.click(:control, 'T') C:/blah/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/keyboard.rb:48:in assert_modifier': "T" is not a modifier key, expected one of [:control, :shift, :a from C:/blah/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/keyboard.rb:25:in press ' 请帮我解决这个问题。
  • 我认为您不需要“t”来在新标签页中打开链接,只需“ctrl”和“click”即可
  • 哦,是的。 ctrl + t 用于新标签
  • 但这只会打开一个新的空白选项卡,如果您只需要这样,您就可以“创建”一个新的浏览器实例
【解决方案2】:

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

http://watir.com/guides/windows/

【讨论】:

  • 当它从第一页导航到另一个页面时,cookie 是否仍然保留@Li Xinyang?
【解决方案3】:

你可以使用javascript:

require 'watir' # Crawler
browser = Watir::Browser.new :chrome   #or firefox in your case
browser.goto 'http://example.com'

browser.execute_script('window.open("http://example1.com")')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    相关资源
    最近更新 更多