【发布时间】:2011-01-18 22:45:00
【问题描述】:
如何使用 C# 创建程序以自动提交表单(在 Windows 应用程序中的 Web 浏览器 CONTROL 中)?
【问题讨论】:
标签: c# .net winforms webbrowser-control
如何使用 C# 创建程序以自动提交表单(在 Windows 应用程序中的 Web 浏览器 CONTROL 中)?
【问题讨论】:
标签: c# .net winforms webbrowser-control
WebBrowser control 有一个Document 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");
【讨论】:
SetAttribute() 中的第一个参数始终是 "Value"(带引号)。 +1
如果您知道该页面只有一个表单或者您想要第一个表单:
HTMLDocument doc = webBrowser.Document as HTMLDocument;
HTMLFormElement form = doc.all.OfType<HTMLFormElement>().First();
form.submit();
【讨论】:
WebBrowser.Document.GetElementById("form_submit").InvokeMember("click");
【讨论】: