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

Moh*_*kol 16 .net c# webbrowser-control winforms

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

mea*_*gar 31

web浏览器控件具有文档属性,它返回一个的HTMLDocument.HtmlDocument有几个成员可以用来遍历和操作DOM.

一旦使用这些方法查找表单,就可以使用InvokeMember调用表单的submit方法.

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

foreach (HtmlElement form in webBrowser1.Document.Forms)
    form.InvokeMember("submit");
Run Code Online (Sandbox Code Playgroud)

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

HtmlElement form = webBrowser1.Document.GetElementById("FormID");
if (form != null)
    form.InvokeMember("submit");
Run Code Online (Sandbox Code Playgroud)

  • 在提交之前,你可以填写这样的表格 - webBrowser1.Document.GetElementById("PRICE1").SetAttribute("value","100"); (3认同)
  • 不仅可以,而且**必须**:如果没有首先填写必需/强制输入字段,提交肯定会失败或只是产生不希望/意外的结果.请注意,`SetAttribute()`中的第一个参数始终是**"Value"**(带引号).+1 (2认同)