2012-03-06 19 views
2

私は、検索フィールドにデータを入力してEnterボタンをクリックする必要があるRubyスクリプトを作成しています。 "pp"を見ると、自分のデータが検索フィールドに正しく入力されています。私が抱えている問題は、「入力」ボタンをクリックすることです。現在起こっていることは、現在の画面をリフレッシュするだけではないということです。問題のWebサイトに手動でIE経由でアクセスすると、検索データを入力し、キーボードのEnterキーを押しても検索画面に移動しません。私はそれを前方に移動するためには、入力時にマウスでクリックする必要があります。 Chromeを使用してキーボードで同じタスクを実行すると、新しいタブが開きます。これをプログラム的に進めるにはどうすればよいですか?ここでRuby Mechanizeの送信ボタンが正しく動作しない

は私のコードです:ここでは

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 

が出力からsnippitされています。いつものように

... 
<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] 

、すべてのあなたの助けのためにどうもありがとうございます!

答えて

1

Ok私はwatirを使って解析できました。その後、最後のページを解析するためにnokogiriを使用することができました。結局のところ、私は上記のコードで正しい軌道に乗っていたが、機械化は現時点でJavaScriptを処理することができません。 watirは独自のブラウザのように動作するのではなく、ブラウザのドライバであるため、JavaScriptを処理することができます。私はこれがこの質問に遭遇する人を助けることを願っています。

0

このようなAsp.netのWebサイトは、すべてのJavaScriptコールバックのために掻き集めるのが難しいです。あなたは一般的に、セレンまたはnode.jsのようなjs対応環境を使ってあなたの正気を保つことができます

+0

私はこれらの製品を一度も使用していません。各広告申込情報を検索する必要があるファイルを入力することができますか?私が何をしているのか説明しましょう。私は〜30K行のデータを検索する必要があるファイルがあります。それぞれのアイテムについて、結果に特定のキーワードを探しています。結果が私の基準を満たす場合は、ファイルに出力する必要があります。私はRUBYでそれを行う方法を知っていますが、あなたが見ることができるように、私はこの特定のウェブサイトから頭痛を感じています。私は自分の雇用主に必要な最終ファイルを入手できることを知っていれば、新製品を学ぶことに反対していません。乾杯! – user1128637

+0

あなたは何をしているのか分かりませんが、watir :: webdriverをおすすめします。これはRubyでこのサイトをナビゲートする最も簡単な方法です。 – pguardiario

+0

ありがとうございました...私はワイワに切り替えています! – user1128637