2

我正在开发 C# 桌面程序来做一些自动发布

  1. 我在 C# webbrowser 控件中打开网页(带有表单)
  2. 打开页面后,我正在用数据填充表单字段(使用 C# 代码)。所以没有手动交互

我的问题是:如何自动向服务器发送数据(换句话说,如何使用 C# 代码按下提交按钮)?

4

3 回答 3

1

基本上使用相同的代码来定位和填充字段,您可以遍历 DOM 以找到提交按钮并通过调用向其发送单击。

theElementCollection = WebBrowser1.Document.GetElementsByTagName("input");
    foreach (HtmlElement curElement in theElementCollection) {
        if (curElement.GetAttribute("id").Equals("login_button")) {
            curElement.InvokeMember("click");
于 2012-02-13T13:11:32.187 回答
0

如果您想提交表格,请勾选此项,

// get the document
mshtml.IHTMLDocument2 doc = ((mshtml.HTMLDocumentClass)webBrowser1.Document);

// set a variable
((mshtml.IHTMLElement)doc.all.item("q")).setAttribute("value", "my input...");

// click a button
((mshtml.HTMLInputElement)doc.all.item("btnI")).click();

命名空间mshtml位于Microsoft.mshtml程序集中。

只需添加对Microsoft.mshtml.

于 2013-03-03T18:36:01.827 回答
0

看看WatiN。但我个人会使用WebClientHttpWebRequest从/向服务器获取/发布数据

于 2012-02-13T13:07:20.810 回答