在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/ –