0
mechanizeをRailsで使用していますが、正しく動作しないようですが、フォーム内にフィールドが見つかりません。私はMechanizeのWebサイトの例を使用しようとしましたが、動作しません。私がやった:Mechanizeがフィールドを正しく解析しない
agent = Mechanize.new
page = agent.get('http://google.com/')
それが返されます。
=> #<Mechanize::Page
{url #<URI::HTTP:0xb340ba74 URL:http://www.google.by/>}
{meta_refresh}
{title "Google"}
{iframes}
{frames}
{links
#<Mechanize::Page::Link
"Выявы"
"http://www.google.by/imghp?hl=be&tab=wi">
#<Mechanize::Page::Link
"Пераклад"
"http://translate.google.by/?hl=be&tab=wT">
#<Mechanize::Page::Link
"Групы"
"http://groups.google.by/grphp?hl=be&tab=wg">
#<Mechanize::Page::Link
"Гісторыя пошуку"
"http://www.google.com/history/optout?hl=be">
#<Mechanize::Page::Link "Наладкі" "/preferences?hl=be">
#<Mechanize::Page::Link
"Увайсьці"
"https://www.google.com/accounts/ServiceLogin?hl=be&continue=http://www.google.by/">
#<Mechanize::Page::Link
"Пашыраны пошук"
"/advanced_search?hl=be">
#<Mechanize::Page::Link "Language tools" "/language_tools?hl=be">
#<Mechanize::Page::Link
"русском"
"http://www.google.by/setprefs?sig=0_U7jPRU_lW24j6EjPs4nuN1IxPcM=&hl=ru">
#<Mechanize::Page::Link "Усё пра Google" "/intl/be/about.html">
#<Mechanize::Page::Link "Google.com in English" "http://www.google.com/ncr">}
{forms
#<Mechanize::Form
{name "f"}
{method "GET"}
{action "/search"}
{fields}
{radiobuttons}
{checkboxes}
{file_uploads}
{buttons}>}>
page.form('f')
リターン:
=> #<Mechanize::Form
{name "f"}
{method "GET"}
{action "/search"}
{fields}
{radiobuttons}
{checkboxes}
{file_uploads}
{buttons}>
google_form.q = 'ruby mechanize'
リターン:
NoMethodError: undefined method
q=' for #<Mechanize::Form:0xb33e7070> from /usr/lib/ruby/gems/1.8/gems/mechanize-2.0.1/lib/mechanize/form.rb:162:in
method_missing' from (irb):23
私はMechanizeのバージョン2.0.1とNokogiを使用しますバージョン1.4.4里、ルビー1.8.7とRails 3.1
非常に感謝します!まことにありがとうございます。 – Dzmitry