Нажатие на кнопку с Ruby Mechanize - PullRequest
       45

Нажатие на кнопку с Ruby Mechanize

14 голосов
/ 01 сентября 2011

У меня особенно сложная форма, я пытаюсь нажать кнопку поиска и не могу этого сделать. Вот код для формы из источника страницы:

<input type="image" name="" src="http://images.example.com/WOKRS53B4/images/search.gif" align="absmiddle" border="0" onclick="return check_form_inputs('UA_GeneralSearch_input_form','search');" title="Search" alt="Search" class="">

Я пытаюсь выполнить стандартное действие механизированного щелчка:

login_page = agent.click(homepage.link_with(:text => "Search"))

Это потому, что кнопка использует javascript? Если да, то есть предложения?

Ответы [ 3 ]

36 голосов
/ 18 июня 2012

Я тоже боролся с этим, тем более что в моей форме было несколько кнопок.

Существует несколько способов отправки формы (многие из них используют блок 'form_with'), но это помогло мне:

# get the form
form = agent.page.form_with(:name => "my-form")
# get the button you want from the form
button = form.button_with(:value => "Search")
# submit the form using that button
agent.submit(form, button)

Подробнее здесь

Кроме того, убедитесь, что вы обновились до последней механизации.Я использовал mechanize 1.x, который давал мне ошибки «неопределенный метод» для кода выше.

4 голосов
/ 01 сентября 2011

Это не ссылка, это кнопка. Что вам нужно сделать, это найти форму (например, с form_with), а затем искать ImageButton и submit it.

0 голосов
/ 25 мая 2019
button = form.button_with(value: 'Search')
form.click_button(button)
...