【发布时间】:2011-12-26 22:11:03
【问题描述】:
我正在构建一个爬虫,我正在使用 Mechanize。我希望单击一个单选按钮。我该怎么做?
例如,有两个单选按钮“A”和“B”。 该网站会自动选择 B,但我想要在 ruby 中使用 Mechanize 的“A”。我也在 Mechanize 上使用最新版本。
【问题讨论】:
标签: ruby screen-scraping mechanize web-crawler
我正在构建一个爬虫,我正在使用 Mechanize。我希望单击一个单选按钮。我该怎么做?
例如,有两个单选按钮“A”和“B”。 该网站会自动选择 B,但我想要在 ruby 中使用 Mechanize 的“A”。我也在 Mechanize 上使用最新版本。
【问题讨论】:
标签: ruby screen-scraping mechanize web-crawler
有几种方法可以做到这一点。可能最好使用单选按钮的name 或id:
form.radiobutton_with(:name => /b/).check
你也可以这样做:
form.radiobuttons.first.check
哪个更简洁,但更容易出错(例如,如果您要更改表单的设计)。
【讨论】:
form.radiobuttons[0].checked=true,但这并没有使form.radiobuttons[1].checked=false 我不得不手动执行此操作,您有什么建议吗?
如果您想访问一组单选按钮中的特定单选按钮,您可以这样做:
form.radiobutton_with(name: 'Choose wisely', value: 'Carpenter Goblet').check
这将允许您选择具有所需值的特定单选按钮,这比使用索引从其组中选择单选按钮更好。
【讨论】: