使用Ruby selenium打开浏览器选项卡

时间:2014-09-21 13:18:55

标签: ruby selenium-webdriver

有人可以帮助我解决以下代码的问题。我的目的是能够在浏览器中打开一个新选项卡。脚本通过,但没有真正打开新选项卡

require 'selenium-webdriver'

@browser = Selenium::WebDriver.for :chrome
@browser.navigate.to "http://www.google.com"
body = @browser.find_element(:tag_name => 'body')
body.send_keys(:control, 't')

p "total number of windows"
p @browser.window_handles.length
p "printing window ids"
@browser.window_handles.each do  |window|
  p  window
end
@browser.quit

2 个答案:

答案 0 :(得分:2)

我最接近使用Chrome打开和管理新标签的方法是:

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :chrome
driver.get 'http://www.google.com'

#Extract the link we want to go to
address = driver.find_element(:link_text, "Gmail").attribute('href')

#Open a new browser window
driver.execute_script( "window.open()" )

#Use the newest window
driver.switch_to.window( driver.window_handles.last )
driver.get 'http://yahoo.com'

答案 1 :(得分:0)

如果您使用的是Mac,请尝试:

body.send_keys(:command, 't')

而不是

body.send_keys(:control, 't')

请看这里:How to open a new tab using Selenium WebDriver with Java?