Mechanize を使用して、フォームのあるページを取得しています。フォームには、選択リストである 2 つのフィールドがあります。ユーザーが最初の選択リストからオプションを選択するまで、2 番目の選択リストにはデフォルトとしてオプションがありません。最初の選択リストからオプションを選択できます。
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
page = agent.get('http://www.bicyclebluebook.com/')
form = page.forms.first
a = form.field("customBicycleSearch$ddnBikeSearchMake")
a.options[1].click
ただし、その後、2番目の選択リストのオプションを出力しますが、空の配列を取得します:
model = form.field("customBicycleSearch$ddnBikeSearchModel")
pp model.options
これは、最初のページロードからまだ HTML を解析しており、selectlist オプションが選択された後に返された HTML を解析していないためだと考えています..... 2 番目の selectlist のオプションにアクセスするにはどうすればよいですか?