2 .net javascript popup console-application webbrowser-control
好吧,我有一个非常令人沮丧的问题.我正在解析一个网页,需要让它执行javascript才能获得我想要的信息.
Form f = new Form();
WebBrowser w = new WebBrowser();
w.Navigate(url);
f.Controls.Add(w);
f.ShowDialog();
HtmlElementCollection hc = w.Document.GetElementsByTagName("button");
Run Code Online (Sandbox Code Playgroud)
这有效,我能够将按钮元素设置得很好,但每次运行时我都会弹出一个弹出窗口.很烦人.弹出窗口是基于javascript的,我需要运行Javascript来获取按钮元素信息.这是弹出窗口的脚本.
<script>
var evilPopup = (getCookieVar("markOpen","PromoPop") == 1);
if (evilPopup != 1)
{
PromoPop = window.open('/browse/info.aspx?cid=36193','Advertisement', 'width=365,height=262,screenX=100,screenY=100');
if (PromoPop)
{
PromoPop.blur();
window.focus();
setCookieVar("markOpen","PromoPop","1");
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
我试图在风向标中添加一个cookie给Forms.Webbrowser控件,但是感到沮丧并放弃了.我尝试设置NoAllowNavagate属性,其他一切都无济于事.
有人可以帮忙吗?另外,有一种方法可以从Console.App获取DomDocument信息而无需打开表单?
谢谢
WebBrowser组件具有带有CancelEventArgs的NewWindow事件.所以只需添加类似于的处理程序:
void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;
}
Run Code Online (Sandbox Code Playgroud)
当javascript尝试打开弹出窗口时,事件被触发并取消它.
| 归档时间: |
|
| 查看次数: |
8020 次 |
| 最近记录: |