我正在开发 C# 桌面程序来做一些自动发布
- 我在 C# webbrowser 控件中打开网页(带有表单)
- 打开页面后,我正在用数据填充表单字段(使用 C# 代码)。所以没有手动交互
我的问题是:如何自动向服务器发送数据(换句话说,如何使用 C# 代码按下提交按钮)?
我正在开发 C# 桌面程序来做一些自动发布
我的问题是:如何自动向服务器发送数据(换句话说,如何使用 C# 代码按下提交按钮)?
基本上使用相同的代码来定位和填充字段,您可以遍历 DOM 以找到提交按钮并通过调用向其发送单击。
theElementCollection = WebBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement curElement in theElementCollection) {
if (curElement.GetAttribute("id").Equals("login_button")) {
curElement.InvokeMember("click");
如果您想提交表格,请勾选此项,
// 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
.
看看WatiN。但我个人会使用WebClient
或HttpWebRequest
从/向服务器获取/发布数据