如何在WebBrowser控件中提交表单?

时间:2010-02-19 20:15:58

标签: c# .net winforms webbrowser-control

如何使用C#创建程序以自动提交表单(在Windows应用程序中的Web浏览器中)?

3 个答案:

答案 0 :(得分:30)

WebBrowser controlDocument property,返回HtmlDocument。 HtmlDocument有several members可用于遍历和操作DOM。

使用这些方法查找表单后,您可以使用InvokeMember来调用表单的提交方法。

如果您知道该页面有一个表单:

foreach (HtmlElement form in webBrowser1.Document.Forms)
    form.InvokeMember("submit");

如果您知道要提交的表单的ID:

HtmlElement form = webBrowser1.Document.GetElementById("FormID");
if (form != null)
    form.InvokeMember("submit");

答案 1 :(得分:0)

如果您知道该页面包含单个表单,或者您想要第一个表单:

HTMLDocument doc = webBrowser.Document as HTMLDocument;    
HTMLFormElement form = doc.all.OfType<HTMLFormElement>().First();
form.submit();

答案 2 :(得分:0)

WebBrowser.Document.GetElementById("form_submit").InvokeMember("click");