私はRubyとNokogiriを使用して、ホリスターのWebサイトから次のようなURLからデータをプルしています:http ://www.hollisterco.com/webapp/wcs/stores/servlet/TrackDetail?storeId = 10251&catalogId = 10201&langId = -1&URL = TrackDetailView&orderNumber = 1316358
私のスクリプトは今このようになっています:
require 'rubygems'
require 'nokogiri'
require 'open-uri'
page = Nokogiri::HTML(open("http://www.hollisterco.com/webapp/wcs/stores/servlet/TrackDetail?storeId=10251&catalogId=10201&langId=-1&URL=TrackDetailView&orderNumber=1316358"))
puts page.css("h3[data-property=GLB_ORDERNUMBERSYMBOL]")[0].text
私の問題は、Hollisterページにある種の非同期データの読み込みがあることです。たとえば、スクリプトがページ要素の順序固有のデータでページの領域をチェックするとき、それはまだ存在していません。IE、<h3>
withdata-property=GBL_ORDERNUMBERSYMBOL
はまだ存在しませんが、ブラウザでさらに10秒間ロードすると、特定の注文の詳細を反映するようにDOMとHTMLが変更されます。
事後に読み込まれるこのデータをキャプチャするための最良の方法は何ですか?watir-webdriverを使ってみましたが、それを機能させるために何をする必要があるのかわかりません。