在VS 2010中使用webbrowser控件开发Windows Forms应用程序。 我的目标是在这个网站上自动导航,但是当我在某个点上时,网站会弹出一个JavaScript警报,这将停止自动化,直到我按下OK按钮。 我有点解决了这个问题,通过模拟输入按下时弹出,但应用程序应该保持专注,以便它的工作。 我的问题是,有没有什么办法可以从网站上杀死这个自定义的javascript警报(我没有访问到一边,从客户端杀死它),所以它没有显示或任何其他方式来解决这个问题? 显示的javascript警报(messagebox)不是错误,是由于某种原因该网站的程序员放在那里的JavaScript警报。webBrowser控制停止来自网站的JavaScript警报
5
A
回答
0
您可以尝试在页面加载之前使用Navigated
事件并拦截DocumentText
以删除alert(...);
引用。
从Navigated
页面上的MSDN:
处理的
Navigated
事件时接收通知的WebBrowser
控制导航到一个新的文档。发生Navigated
事件时,新文档已开始加载,这意味着您可以通过Document
,DocumentText
和DocumentStream
属性访问加载的内容。
下面是一些代码:
using System.Windows.Forms;
using System.Text.RegularExpressions;
namespace Your.App
{
public class PopupSuppress
{
WebBrowser _wb;
public PopupSupress()
{
_wb = new WebBrowser();
_wb.Navigated += new WebBrowserNavigatedEventHandler(_wb_Navigated);
}
void _wb_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
string alertRegexPattern = "alert\\([\\s\\S]*\\);";
//make sure to only write to _wb.DocumentText if there is a change.
//This will prompt a reloading of the page (and another 'Navigated' event) [see MSDN link]
if(Regex.IsMatch(_wb.DocumentText, alertRegexPattern))
_wb.DocumentText = Regex.Replace(_wb.DocumentText, alertRegexPattern, string.Empty);
}
}
}
来源/资源:
相关问题
- 1. 停止警报JavaScript弹出的网页浏览器C#控制
- 2. 如何停止多个警报的JavaScript?
- 3. 如何停止报警运行ant控制
- 4. 警报停止脚本
- 5. 来自java类的调用JavaScript警报
- 6. C#WebBrowser控件 - 忽略网站的安全警告
- 7. 显示来自控制器在asp.net mvc中的动作的javascript警报mvc
- 8. 使用基准控制来控制不使用警报的规则(纯javascript)
- 9. 控制来自2个差异应用程序的报警 - Android
- 10. “离开网站”警报
- 11. 停止访问来自其他域的网站内容
- 12. 如何监控日志文件并在警报停止时发送警报?
- 13. 从查看我的网站阻止Windows Phone WebBrowser控件?
- 14. WebBrowser控件停止关注richtextbox
- 15. 来自MongoDB的警报
- 16. C#WebBrowser警报关闭:
- 17. JQuery的警报不会停止显示
- 18. C#WebBrowser控件删除脚本标签(停止JavaScript执行)
- 19. 网站能否自动下载文件来停止程序?
- 20. JavaScript的帮助!停止警报框从重置形式
- 21. 多功能的JavaScript停止其他如果警报取消
- 22. Javascript:我无法停止Chrome中的警报方法
- 23. 停止来自onclick监听器内部对话框的报警声音
- 24. 停止报警[Android应用程序]
- 25. 需要在停止警报间隔
- 26. 如何停止报警android应用
- 27. 信号到达时报警停止
- 28. 如何停止音频警报?
- 29. 停止报警Android应用程序
- 30. 如何在警报中停止提醒
有点谷歌搜索发现:http://josheinstein.com/blog/index.php/2010/01/webbrowser-control-prevent-window-alert/ –