Rubyメソッドを使用し、sleep
seconds_to_delay = 5
sleep seconds_to_delay
編集 1: ドキュメントの読み込みが完了してからしばらくして読み込まれる div の処理
私はこのシナリオが嫌いです。まったく同じシナリオに対処する必要があったため、解決方法を次に示します。selenium-webdriver gemのようなものを使用する必要があります。
require 'selenium-webdriver'
url = "http://techcrunch.com/search/education#stq=education&stp=1"
css_selector = ".tab-panel.active"
driver = Selenium::WebDriver.for :firefox
driver.get(url)
driver.switch_to.default_content
posts_text = driver.find_element(:css, css_selector).text
puts posts_text
driver.quit
Heroku、AWS EC2、Digital Ocean などの仮想マシンでこれを実行している場合、firefox は使用できません。代わりに、phantom.js のようなヘッドレス ブラウザーが必要です。
firefox の代わりに phantom.js を使用するには、まず VM に phantomjs をインストールします。に変更しdriver = Selenium::WebDriver.for :phantomjs
ます。
実際に phantomjs をインストールするこの gemを使用できます。
質問bの2番目の編集)
require 'selenium-webdriver'
url = "http://techcrunch.com/search/education#stq=education&stp=1"
css_selector = ".tab-panel.active ul.river-compact.river-search li"
driver = Selenium::WebDriver.for :phantomjs
driver.get(url)
driver.switch_to.default_content
items = driver.find_elements(:css, css_selector)
items.each {|x| puts x }
driver.quit