2011-10-24 16 views
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

答えて

1

は、フィールドを設定するには、ハッシュアクセスバリエーションを使用します。

google_form['q'] = 'ruby mechanize' 
+0

非常に感謝します!まことにありがとうございます。 – Dzmitry

関連する問題