2013-01-16 51 views
0

我試圖模擬一個按鈕在我的程序中單擊以獲得服務器的響應。問題是,該網頁「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。有任何想法嗎?

+0

'HtmlElement btn = yourBrowserControl.Document.GetElementById(「btnGo」); btn.InvokeMember(「click」);' – MethodMan

回答

3

你可以使用jQuery就像在你的.cs

$("#btnGo").click(); 

你會使用它像

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頁面

0

使用jQuery trigger()函數(或triggerHandler,根據您的目的)。 也就是說

$('#<%=btnGo.ClientID%>').trigger('click');