Webブラウザコントロールを使用してVS 2010 C#でWindows Formsアプリケーションを開発しています。 私の目標はこのウェブサイトでのナビゲーションを自動化することですが、ある時点では、OKボタンを押すまでオートメーションを停止するjavascriptアラートがウェブサイトにポップアップ表示されます。 私はちょっとポップアップしたときにエンタープレスをシミュレートすることで問題を解決しましたが、アプリケーションはそれが機能するようにフォーカスを当て続けるべきです。 私の質問は、このカスタムjavascriptの警告をウェブサイトから削除する方法はありますか(私はクライアント側からそれを殺すことはできません)、この問題を解決する方法は他にありますか? 表示されるjavascriptアラート(messagebox)はエラーではありません。何らかの理由で、そのウェブサイトのプログラマーがそこに置くというJavaScriptの警告です。WebBrowserコントロールはウェブサイトからのJavaScriptの警告を停止します
5
A
答えて
0
Navigated
イベントを消費して、DocumentText
を傍受してから、alert(...);
の参照を削除することができます。
MSDN上Navigated
ページから:
WebBrowser
コントロールが新しいドキュメントにナビゲートしたときに通知を受け取るためにNavigated
イベントを処理します。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);
}
}
}
出典/参考:
- http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.navigated.aspx
- http://regexpal.com/
- (申し訳ありませんが、より多くを持っていたが、SOだけ私は2つのリンクを投稿できるようになるが)
関連する問題
- 1. 警告なしでMicrosoft IE WebBrowserコントロールからlocalhost javascriptページをロードするには?
- 2. javascriptの警告と実行の停止
- 3. Escape Tab WebBrowserコントロール内で停止する
- 4. JavaScriptのヘルプ!警告ボックスのリセットを停止する
- 5. 停止JavaCV再生警告
- 6. WPF WebBrowserのスクリプト警告
- 7. パンダ(表示から警告を停止する)
- 8. Visual Studioのコマンドラインビルドは、警告メッセージボックスで一時停止し
- 9. fsockopenからの警告の防止
- 10. 最初の発生後に警告メッセージを停止しますか?
- 11. Vim: "既存のスワップファイル"の警告を停止する
- 12. .NET WebBrowserコントロールのJavascriptキーアップ/キーダウン
- 13. JavaScriptが新しいウェブサイトの警告を表示するonclick
- 14. エラーと警告なしでこのステップでTomcat9を停止します
- 15. ドッカーコンテナが停止した場合の警告
- 16. 警告:docker.serviceを停止しましたが、まだ起動できます:docker.socket
- 17. 警告ボタンをクリックして停止カウンタをクリック
- 18. Javascript:Chromeで警告方法を停止できません
- 19. キャッシングからjavascriptを停止
- 20. Javascript関数は他のアクションからSafariを停止します
- 21. "このスクリプトの実行を停止しますか?"このコードで警告しますか?
- 22. 508 Jaws aria警告キューを停止する方法
- 23. 問題(警告モジュールからの)警告
- 24. MIPSの廃止の警告
- 25. JavaScriptの警告はTypeError
- 26. JavaScriptの警告は、Firefox 6
- 27. tf.contrib.learnチュートリアル廃止の警告
- 28. オーバーライドメソッドまたはEventListener:作成プロセスを停止し、EasyAdminで初めて警告を表示しますか?
- 29. 警告が検出されたときKeil uVisionビルドを停止
- 30. 検索は廃止されますか? 1 'のLucene.Net.Search.Hits' を警告
少しのグーグルが見つかりました:http://josheinstein.com/blog/index.php/2010/01/webbrowser-control-prevent-window-alert/ –