我试图弄清楚如何以编程方式单击网页上的按钮.
具体来说,我有一个带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");
这样可以很好地填充用户标识和密码文本框,但是我没有成功获取该单击的按钮; 我也试过"点击","点击"和"onClick" - 还有什么?搜索msdn当然不会给我任何线索,也没有groups.google.com.我得亲近 或许不是 - 有人告诉我应该调用页面的POST方法,但是这样做是不是给出了建议的一部分.
BTW按钮编码:
Starwatcher.. 8
这是如何运作的?适合我
HtmlDocument doc = webBrowser1.Document; doc.All["userIDTextBox"].SetAttribute("Value", "user1"); doc.All["userPasswordTextBox"].SetAttribute("Value", "Password!"); doc.All["logonButton"].InvokeMember("Click");
EvilEddie.. 7
var btn = document.getElementById(btnName); if(btn)btn.click();
这是如何运作的?适合我
HtmlDocument doc = webBrowser1.Document; doc.All["userIDTextBox"].SetAttribute("Value", "user1"); doc.All["userPasswordTextBox"].SetAttribute("Value", "Password!"); doc.All["logonButton"].InvokeMember("Click");
var btn = document.getElementById(btnName); if(btn)btn.click();