rob*_*ert 5 javascript c# browser alert
本网站:http: //blog.joins.com/media/folderListSlide.asp?uid = ddatk&folder = 3&list_id = 9960150
有这个代码:
<script>alert('¿Ã¹Ù¸¥ Çü½ÄÀÌ ¾Æ´Õ´Ï´Ù.');</script>
Run Code Online (Sandbox Code Playgroud)
所以我的网页浏览器控件显示弹出窗口,如何在不使用sendkeys输入的情况下绕过弹出窗口?
如果您不打算alert()在您的页面上使用该功能,您也可以覆盖它。例如:
<script type="text/javascript">
alert = function(){}
</script>
Run Code Online (Sandbox Code Playgroud)
如果您确实需要使用 JavaScript 的警报功能,您可以“重载”它:
<script type="text/javascript">
var fnAlert = alert;
alert = function(message,doshow) {
if (doshow === true) {
fnAlert(message);
}
}
alert("You won't see this");
alert("You will see this",true);
</script>
Run Code Online (Sandbox Code Playgroud)
在ProgressChanged事件处理程序中,您插入一个脚本元素,该元素用alert您自己的函数替换Javascript 函数,它不执行任何操作:
private void webBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
{
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
string alertBlocker = "window.alert = function () { }";
element.text = alertBlocker;
head.AppendChild(scriptEl);
}
}
Run Code Online (Sandbox Code Playgroud)
对于这个工作,你需要添加一个引用Microsoft.mshtml,并use mshtml;在您的形式.
我认为您正在WinForm 应用程序中alert(xxx)使用 javascript 来导航页面?WebBroswer你可以试试:
broswer.Navigated += (sender, args) =>
{
var document = (sender as WebBrowser).DocumentText;
//find the alert scripts and remove/replace them
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11479 次 |
| 最近记录: |