2012-05-02 4 views
1

私は、何百ものテーブル行がチェックボックスで表示されている作業用のWebページをスクラップしようとしています。フォームを送信するには、JavaScript関数を呼び出すボタンをクリックする必要があります。プログラムで、Webページをスクラップし、JavaScriptボタンを「クリック」する方法はありますか?

<a onclick="JavaScript: return verifyChecked('Resend the selected request for various approvals?');" 
id="_ctl0_cphMain_lbtnReapprove" 
title="Click a single request to send to relevant managers for reapproval." 
class="lnkDBD" href="javascript:__doPostBack('_ctl0$cphMain$lbtnReapprove','')" 
style="border-color:#0077D4;border-width:1px;border-style:Solid;text-decoration: overline;">&nbsp;Resend&nbsp;</a> 

私はあなたがURLにポストデータを追加することにより、フォームを送信することができますが、どのように私は、チェックボックスをチェックして、このjavascriptのボタンを「クリック」でした美しいスープのようなライブラリを知っている:HTMLでのボタンは、次のようになりますか?ウェブサイトは種類のヘルプデスクであり、この特定のボタンでは、一度に1件のリクエストをチェックすることができます。

チェックボックスをオンにすると、これを行うかどうかを確認するメッセージがポップアップ表示され、プログラムで送信するかどうかわかりません。

EDIT:doPostBackメソッドを含めるのを忘れていました。

<script type="text/javascript"> 
<!-- 
var theForm = document.forms['aspnetForm']; 
if (!theForm) { 
    theForm = document.aspnetForm; 
} 
function __doPostBack(eventTarget, eventArgument) { 
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) { 
     theForm.__EVENTTARGET.value = eventTarget; 
     theForm.__EVENTARGUMENT.value = eventArgument; 
     theForm.submit(); 
    } 
} 
// --> 
</script> 
+0

実際にJSボタン***をクリックしたことを確認してから、プロセスのコピーを作成する必要があります。 – Petah

+1

jQueryは言及されておらず、おそらくここでは間違っているかもしれませんが、これは興味深いかもしれません:http://api.jquery.com/trigger/ –

+0

@Petah私はメソッドを使って最初の投稿を更新しました、私はそれを含めることを忘れました。私はそれが美しいスープのようなものから何をするかをコピーする方法についてはわかりません。 – FirehaK

答えて

1

取得し、FirefoxとFirebugを、オープンFirebugのがページをロードし、そのは実際にサーバに送信するもののために、コンソールタブに見えます。

次に、あなたが好きなツールを使って送信することを繰り返してください。

enter image description here

+0

FireBugを開いてチェックボックスをチェックしてボタンをクリックしましたが、コンソールビューの下に何も表示されません。私は、フォームが提出されたことを知っています。なぜなら、要求が送付された管理者のページで確認を得るからです。 – FirehaK

+0

@FirehaK、ネットタブを確認して – Petah

+0

助けてくれてありがとう、私は見ることができるURLを持っています。今私はちょうどそれをデコードして、送信されている実際のデータを見るために遊ばなければなりません。 – FirehaK

2

あなたは、おそらくこのような何かのためにセレンのようなブラウザの自動化ライブラリを使用して方がいいでしょう。

1

Try Imacros。シンプルなブラウザーの自動化のためには優れています。あなたのセッションを記録することができ、それに基づいてコードを作成します。より多くのロジックがある場合、複雑ではないドキュメンテーションの標準プログラミングは、あなたのスピードを上げることができます。あなたは言語/スクリプトの外でも調整できます。たとえば、私はこれを以下の目的で使用しました。

1)ビジネスリードを収集します。サイトには、すべての小売店舗のリストがありますが、ユーザー入力郵便番号の近くにはありません。スプレッドシートには大量の郵便番号を入れ、実行するとcsvファイルから各ファイルを取り出し、csvファイルに格納するための情報をスクラップします。 5分ごとにPC上のVPNプログラムを開き、ipを変更します。取った。作るのに20分。

私はあなたのプログラミングにはOKですが、これはサイトの変更、その "コード"が非常に簡単で、他のスクリプトやファイルを簡単に呼び出すことができれば、デバッグが容易なので最も良い方法です。 Firefoxアドオンは最も安定して無料です。

関連する問題