2

我编写了一个 WinForms 应用程序来打开一个 webbrowser 控件,我们使用它来填写一个表单,以编程方式从数据库提交培训课程事件(它并不完美,但它节省了很多时间 - 不,有关公司不支持 XML 提要)。但是,系统刚刚开始生成脚本错误,这会阻止它工作。

我试过设置:

WebBrowser1.ScriptErrorsSuppressed = True

但这只是部分成功。好消息是我没有收到任何脚本错误,但坏消息是我无法登录该站点。

有没有人有任何建议?据我所知,webbrowser 控件使用 IE,所以我不能让它使用另一个浏览器。

提前致谢!

4

1 回答 1

2

根据文档http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.scripterrorssuppressed.aspx如果您抑制错误,您也会抑制对话框。这意味着用于登录的警报框/身份验证也将被禁止。

以下是文档中指出的内容:

当 ScriptErrorsSuppressed 设置为 true 时,WebBrowser 控件隐藏其所有源自基础 ActiveX 控件的对话框,而不仅仅是脚本错误。有时您可能需要在显示对话框(例如用于浏览器安全设置和用户登录的对话框)时抑制脚本错误。在这种情况下,将 ScriptErrorsSuppressed 设置为 false 并在 HtmlWindow.Error 事件的处理程序中禁止脚本错误。

如文档所述,您可以处理 HtmlWindow.Error 事件以允许对话框,但仅抑制脚本错误。(虽然,我一直有这个实际工作正常的问题。)

于 2013-10-01T17:30:00.587 回答