一部のWebサイトでのフォーム送信を自動化するために、ChromedriverでWatirを使用しています。ログインして複数のフォームを送信する必要があります。問題は、送信ボタンをクリックするとページが自動的に閉じるため、goto('next_url') すると次のエラーが発生することです。
/Users/jackz/.rvm/gems/ruby-1.9.3-p327/gems/selenium-webdriver-2.27.2/lib/selenium/webdriver/remote/response.rb:52:`assert_ok': 'auto_id'開いているタブを参照していません (Selenium::WebDriver::Error::UnknownError)
Watir インスタンスはまだそこにありますが、ウィンドウは閉じられています。毎回新しいインスタンスを作成することもできましたが、毎回再度ログインする必要があり、これには時間がかかりました。
では、どうすれば次のいずれかを実行できますか:
同じ Watir インスタンスで新しいウィンドウを開く
また
送信後にウィンドウが閉じないようにする
require 'watir-webdriver'
@b = Watir::Browser.new :chrome
@b.goto(URL)
@b.buttons.first.click
#this is when the window closes
@b.goto(NEW_URL)
#then I get an error
ありがとう