我试图弄清楚如何以编程方式单击网页上的按钮.
具体来说,我有一个带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)
这是如何运作的?适合我
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)