0

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 のオプションにアクセスするにはどうすればよいですか?

4

2 に答える 2

1

これの代わりに

page = agent.get('http://www.bicyclebluebook.com/')

これを行う

page = agent.get('http://www.bicyclebluebook.com/searchlisting.aspx?make=1081&model=67286&year=2012')

「make」だけを使用することもできます

  page = agent.get('http://www.bicyclebluebook.com/searchlisting.aspx?make=1081')
于 2013-09-02T06:56:53.190 に答える