チェックボックスを備えた何百ものテーブル行がある作業のために Web ページをスクレイピングしようとしています。フォームを送信するには、javascript 関数を呼び出すボタンをクリックする必要があります。html のボタンは次のようになります。
<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;"> Resend </a>
美しいスープのようなライブラリを使用すると、投稿データをURLに追加してフォームを送信できますが、チェックボックスをオンにしてこのjavascriptボタンを「クリック」するにはどうすればよいですか? ウェブサイトは一種のヘルプ デスクであり、この特定のボタンについては、一度に 1 つのリクエストしかチェックできず、再送信が必要なリクエストが何百もある場合、非常に時間がかかります。
チェックボックスをオンにすると、これを行いたいことを確認するメッセージもポップアップ表示されますが、それがプログラムによる送信に影響するかどうかはわかりません。
編集: 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>