selenium+headlessなサンプルソース : Ruby
古い版の配慮をいれたタイムアウトの設定例。
旧環境だと read/open_timeoutは未実装で例外になる。それを拾って旧版のタイムアウトにも対応してみます。
driver = nil client = Selenium::WebDriver::Remote::Http::Default.new begin client.read_timeout = 120 client.open_timeout = 120 rescue client.timeout = 120 p "古い設定を使います。(Selenium3未満)" end
begin driver = Selenium::WebDriver.for(:firefox, :profile => "default", :http_client => client) rescue profile = Selenium::WebDriver::Firefox::Profile.from_name "default" caps = Selenium::WebDriver::Remote::Capabilities.firefox(firefox_profile: profile) driver = Selenium::WebDriver.for :firefox, marionette: true, http_client: client, desired_capabilities: caps end : : wait = Selenium::WebDriver::Wait.new(:timeout => 60) (この後にもページロードしてみたり) : :