Нажатие кнопки с помощью 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="">

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

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

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

2 ответов


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


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

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