Как выбрать переключатель с помощью Mechanize в Ruby?

Я строю краулер, и я использую Mechanize. Я хочу нажать на переключатель. Как мне это сделать ?

например, есть две переключатели, которые говорят " A " и "B". Сайт автоматически выбирает B, но я хочу "A", используя Mechanize в ruby. Я также использую последнюю версию Mechanize.

2 ответов


есть несколько способов сделать это. Вероятно, лучше всего было бы использовать переключатель name или id:

form.radiobutton_with(:name => /b/).check

вы могли бы сделать что-то вроде этого:

form.radiobuttons.first.check

что более лаконично, но с большей вероятностью сломается (если, например, вы должны были изменить дизайн своей формы).


Если вы хотите получить доступ к определенному переключатель из группы переключателей, вы можете сделать это так:

form.radiobutton_with(name: 'Choose wisely', value: 'Carpenter Goblet').check

Это позволит вам выбрать конкретный переключатель с желаемым значением, это лучше, чем выбрать переключатель из своей группы с помощью индекса.