我正在尝试抓取一个网页以进行工作,其中有数百个带有复选框的表格行,并提交我需要单击一个调用 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 按钮?该网站是各种各样的帮助台,对于这个特定的按钮,我们一次只能检查一个请求,当有数百个请求需要重新提交时,这会花费很长时间。
当我选中复选框时,还会弹出一条消息,验证我想要这样做,我不知道这是否会影响以编程方式提交它。
编辑:我忘了包括 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>