1

我正在尝试使用 MSHTML(在 C#.Net 3.1 WPF WebBrowser 控件中)自动解析/提交网页。我可以毫无问题地填写表格、单击按钮和浏览页面。

但是我不知道如何在单击“提交”按钮时出现的 JavaScript 确认对话框上自动单击“确定”按钮。

C#代码:

mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)webBrowser.Document;
mshtml.IHTMLFormElement form = doc.forms.item("inputForm", 0) as mshtml.IHTMLFormElement;
mshtml.IHTMLElement btnSubmit = form.item("btnFormSubmit", null) as mshtml.IHTMLElement;
btnSubmit.click();

出现确认对话框(“您确定吗?”)。我想以某种方式向 MSHTML 文档发送“Enter”键以自动确认提交。

4

2 回答 2

2

我终于找到了如何在 WebBrowser 控件中抑制确认消息的方法。它实际上显示在 javascript 函数 showConfirm() 中。我在 Browser.Document 的标题顶部插入了虚拟函数 showConfirm(),它覆盖/抑制了原始函数 showConfirm()。代码很忙,但主要思想很清楚,而且效果很好。

于 2009-08-17T12:30:01.333 回答
0

由于 WebBrowser 控件是一个黑盒子,您可能应该研究通过 Win32 API 获取对话框的句柄。从那里您可以调用“确定”按钮。抱歉,我不能说得更具体了,因为我以前从未做过这件事。不过,希望这足以让您朝着正确的方向进行研究。

于 2009-02-26T04:56:19.343 回答