1

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.

誰かがこれをどのように使用するかについて記録をまっすぐに設定できれば、非常にありがたいです.

4

3 に答える 3

2

この記事で詳しく説明されているように、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/

次の動作になります。

  • ページを読み込む
  • 現在のウィンドウのウィンドウ ハンドルを取得する
  • 新しいウィンドウを開くアクションを実行する
  • 新しいウィンドウのウィンドウ ハンドルを取得する
  • 必要に応じてウィンドウを切り替えます
于 2013-11-05T07:39:30.340 に答える