Подтвердить что ты не робот

Нажатие кнопки с помощью Ruby Mechanize

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

<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="">

Я пытаюсь выполнить стандартное действие clickize механизации:

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

Существует несколько способов отправки формы (многие используют блок "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, который давал мне ошибки undefined метода для кода выше.

Ответ 3

button = form.button_with(value: 'Search')
form.click_button(button)