selenium-webdriverでwebページ読み込み待ち

テストではうまく動いてたので気づくの遅れてしまった、これだとページ読み込み中にパース処理が走ってしまう

require "selenium-webdriver"
require "nokogiri"

driver = Selenium::WebDriver.for :chrome
driver.navigate.to url
doc = Nokogiri::HTML.parse(driver.page_source)
doc.css('div.content').each do |n|
  ...
end

ので、欲しい要素が表示されるまでwait

require "selenium-webdriver"
require "nokogiri"

driver = Selenium::WebDriver.for :chrome
driver.navigate.to url
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # second
wait.until { driver.find_element(:id => "data").displayed? }
doc = Nokogiri::HTML.parse(driver.page_source)
doc.css('div.content').each do |n|
  ...
end

いけたー

参考
RubyBindings - selenium - Ruby bindings - Browser automation framework - Google Project Hosting