如何以编程方式单击ASP.NET网页上的按钮?

Cyb*_*ist 7 asp.net

我试图弄清楚如何以编程方式单击网页上的按钮.

具体来说,我有一个带WebBrowser控件的WinForm.一旦它导航到我正在尝试使用的目标ASP.NET登录页面,在DocumentCompleted事件处理程序中,我有以下编码:

HtmlDocument doc = webBrowser1.Document;

HtmlElement userID = doc.GetElementById("userIDTextBox");
userID.InnerText = "user1";

HtmlElement password = doc.GetElementById("userPasswordTextBox");
password.InnerText = "password";

HtmlElement button = doc.GetElementById("logonButton");
button.RaiseEvent("onclick");
Run Code Online (Sandbox Code Playgroud)

这样可以很好地填充用户标识和密码文本框,但是我没有成功获取该单击的按钮; 我也试过"点击","点击"和"onClick" - 还有什么?搜索msdn当然不会给我任何线索,也没有groups.google.com.我得亲近 或许不是 - 有人告诉我应该调用页面的POST方法,但是这样做是不是给出了建议的一部分.

BTW按钮编码:

<input type="submit" name="logonButton" value="Login" onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " language="javascript" id="logonButton" tabindex="4" />
Run Code Online (Sandbox Code Playgroud)

Sta*_*her 8

这是如何运作的?适合我

HtmlDocument doc = webBrowser1.Document;

doc.All["userIDTextBox"].SetAttribute("Value", "user1");
doc.All["userPasswordTextBox"].SetAttribute("Value", "Password!");
doc.All["logonButton"].InvokeMember("Click");
Run Code Online (Sandbox Code Playgroud)


Evi*_*die 7

var btn = document.getElementById(btnName); if(btn)btn.click();