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)
(この後にもページロードしてみたり)
:
:

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-09 (水) 13:41:58