【问题标题】:C# WebBrowser control window.nameC# WebBrowser 控件 window.name
【发布时间】:2016-06-22 17:42:24
【问题描述】:

我正在尝试使用 WebBrowser 控件在 WPF 应用程序中自动化站点。

网站检查每个页面中的 javascript window.name,如果与预设值不匹配,则会引发错误。

请看下面的示例。

var id="1234";
if (window.name != id)
{
  window.open("home.html", id)
}

当我创建一个新的 WebBrowser 对象时,有没有办法获取这个值并设置它?

【问题讨论】:

    标签: javascript c# wpf webbrowser-control browser-automation


    【解决方案1】:

    我尝试了以下方法,我的问题得到了解决。希望这可以帮助某人。

    我首先使用此代码将页面导航到空白页面。

    var html = string.Format(
                "<html><body><h4>Opening ...</h4><script type='text/javascript'>window.open('about:blank', '{0}');</script></body></html>",
                popupWindowName);
    
            var w = new Browser();
            w.NavigateToString(html);
    

    然后在页面中是加载完成事件,我导航到了原来的URL。

    w.Navigate("https://somesite.com/page.aspx",
                    null, null, h);
    

    弹出窗口名称已更改为我想要的名称,并且会话正确继续。这不是解决我面临的问题的方法,但更像是一种解决方法。

    我还必须处理不断出现的弹出窗口。我已经处理了 NewWindow2 事件来处理弹出窗口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      相关资源
      最近更新 更多