Я работаю над скриптом Ruby, который вводит данные в поле поиска, а затем должен нажать кнопку ввода. Глядя на «pp», мои данные правильно вводятся в поле поиска. Проблема, с которой я сталкиваюсь, это нажатие на кнопку «Ввод». Происходит то, что он не движется вперед, а просто обновляет текущий экран. Когда я вручную захожу на соответствующий веб-сайт через IE, ввожу данные поиска и нажимаю Enter на клавиатуре, он не переходит на экран поиска; Я должен щелкнуть мышью при вводе, чтобы заставить его двигаться вперед. Если я использую Chrome и выполняю ту же задачу с вводом с клавиатуры, открывается новая вкладка. Как мне заставить это программно двигаться вперед?
Вот мой код:
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
agent.verify_mode = OpenSSL::SSL::VERIFY_NONE
page = agent.get('https://somewebsite.com')
check_form = page.form
check_form['ct100$MainContent$txtNumber'] = 'J520518'
pp page
page = agent.submit(check_form, check_form.buttons.first)
pp page
page.links.each do |link|
puts link.text
end
Вот фрагмент из вывода:
...
<forms
#<Mechanize::Form
<name nil>
<method "POST">
<action "">
<fields
...
[field:0xb627a0 type: name:ct100$MainContent$txtNumber value: J520518]>
...
<buttons
[submit:0xb6d8ac type: submit name: ct100$MainContent$btnEnter value: Enter]
}>}>
...
<forms
#<Mechanize::Form
<name nil>
<method "POST">
<action "">
<fields
...
[field:0xb627a0 type: name:ct100$MainContent$txtNumber value: ]>
...
<buttons
[submit:0xb6d8ac type: submit name: ct100$MainContent$btnEnter value: Enter]
Как всегда, большое спасибо за вашу помощь!