我想使用我在rdoc中看到的openWindow()方法打开一个新窗口,但每当我尝试运行我的代码时,我都被告知该方法不存在。
require 'rubygems'
require 'selenium-webdriver'
$browser = Selenium::WebDriver.for :firefox #I've tried chrome too to the same effect
$browser.navigate.to("http://google.com")
$browser.openWindow("http://cnet.com","ASDF") #This doesn't work.
$browser.open_window("http://cnet.com","ASDF") #This doesn't work either.
如果有人能够直接记录如何使用此记录,我们将不胜感激。
答案 0 :(得分:2)
详见this article,使用API的正确方法是:
@driver.get 'http://the-internet.herokuapp.com/windows'
main_window = @driver.window_handle
@driver.find_element(css: '.example a').click
windows = @driver.window_handles
windows.each do |window|
if main_window != window
@new_window = window
end
end
@driver.switch_to.window(main_window)
@driver.title.should_not =~ /New Window/
@driver.switch_to.window(@new_window)
@driver.title.should =~ /New Window/
具有以下行为:
答案 1 :(得分:1)
我不确定你是否可以使用 openWindow方法但是
要打开新窗口,您必须再次打开firefox浏览器的新实例
所以,尝试做类似
的事情$browser = Selenium::WebDriver.for :firefox
$browser.navigate.to("http://google.com")
$browser_new = Selenium::WebDriver.for :firefox
$browser_new.goto("http://cnet.com")
答案 2 :(得分:0)
我不了解Selenium,但根据您自己的问题,该方法的名称为open_window
而不是openWindow
。