[英]How to simulate Web page button click in code
我試圖模擬程序中的按鈕單擊,以便從服務器獲得響應。 問題是網頁“ onclick”激活該頁面中的腳本
html看起來像這樣:
<script language=javascript>
function frmsubmit(id)
{
document.all("HistoryData1_hiddenID").value=id;
document.all("Form1").submit();
}
</script>
<input type="button" id="btnGo" value="Go" Class="RegularButton" onclick="frmsubmit('0')" >
我使用了我看到的這段代碼:
WebBrowser wb = new WebBrowser();
wb.Navigate(url);
while (wb.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
wb.Document.GetElementById("btnGo").InvokeMember("click");
什么都沒發生。 在真實的網頁中,我得到了一個包含所需數據的html。 有任何想法嗎?
你可以像這樣使用jQuery
$("#btnGo").click();
在您的.cs文件中,您將像
StringBuilder sb = new StringBuilder();
sb.AppendLine("$(document).ready(function() {");
sb.AppendLine("$('#btnGo').click();");
sb.AppendLine(" });");
Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", sb.ToString(), true);
就是這樣,當然您必須將jQuery庫添加到html頁面
嘗試致電doPostBack
__doPostBack("btnGo', '<event argument here>');
使用jQuery trigger()函數(或triggerHandler ,取決於您的目的)。 即
$('#<%=btnGo.ClientID%>').trigger('click');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.