2014-09-21 6 views
0

Может кто-нибудь помочь мне с тем, что не так с приведенным ниже кодом. Мое намерение состоит в том, чтобы открыть новую вкладку в браузере. Сценарий проходит, но на самом деле не открывалось новая закладкаоткрыть вкладку браузера с помощью Ruby selenium

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 
+0

Вы нашли ответы полезными? – daremkd

+0

На самом деле ни один из нижеприведенных ответов не открыл новую вкладку. Извините за задержку в ответе. – machzqcq

ответ

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' 
+0

Спасибо. Это помогает, однако я мог бы также создать новый экземпляр webdriver и использовать его. Я действительно хочу выполнить точные операции ctrl + t, который открывает новую вкладку в браузере Chrome через код. Есть еще мысли? – machzqcq

+0

Это проблема Selenium, она не поддерживает открытие новых вкладок, см. Http://stackoverflow.com/questions/14550360/selenium-ide-for-firefox-ctrl-tab/14552367#14552367 – daremkd

0

Если вы на Mac, попробуйте:

body.send_keys(:command, 't') 

вместо

body.send_keys(:control, 't') 

Смотрите также: How to open a new tab using Selenium WebDriver with Java?

+0

Я уже просмотрел эту ссылку вы поделились, и именно тогда я разместил этот вопрос, потому что поведение не рассматривается с точки зрения открытия новой вкладки. Я нахожусь в windows btw. Есть еще идеи? – machzqcq

Смежные вопросы