【问题标题】:MSHTML - Auto Click for JavaScript confirm dialogMSHTML - 自动单击 JavaScript 确认对话框
【发布时间】:2009-02-25 22:18:53
【问题描述】:

我正在尝试使用 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”键以自动确认提交。

【问题讨论】:

    标签: javascript dialog mshtml confirm


    【解决方案1】:

    我终于找到了如何在 WebBrowser 控件中抑制确认消息的方法。它实际上显示在 javascript 函数 showConfirm() 中。我在 Browser.Document 的标题顶部插入了虚拟函数 showConfirm(),它覆盖/抑制了原始函数 showConfirm()。代码很忙,但主旨清晰,运行完美。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢。我正在寻找更简单的方法来使用 MSHTML 和 WebBrowser 控件在确认对话框上单击确定按钮。除了这个烦人的对话窗口,我可以点击任何东西。我需要使用 Javascript 以某种方式将“Enter”击键发送到 HSHTML 文档
      • 您不能使用 JavaScript 做到这一点 - 请参阅此答案:stackoverflow.com/questions/563890/… ...确认以相同的方式工作。这就是为什么我建议使用 Win32 API。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 2011-10-19
      相关资源
      最近更新 更多