【问题标题】:WatiN with webbrowser使用网络浏览器观看
【发布时间】:2010-09-14 20:22:43
【问题描述】:

我正在使用以下代码将 watin 绑定到 winform 上的网络浏览器。

Dim w As IE = New IE(WebBrowser1.ActiveXInstance)
Settings.AutoStartDialogWatcher = False
w.GoTo("http://google.com")

我可以从 wireshark 看到页面已加载,但表单被冻结,直到抛出异常“Internet Explorer 忙时超时”。

有没有办法将 watin 绑定到 webbrowser 控件?

【问题讨论】:

    标签: .net vb.net browser watin


    【解决方案1】:

    首先,我认为这一行:

    Settings.AutoStartDialogWatcher = False
    

    应该在开头,在创建IE 实例之前。

    如果您在单独的线程中运行,您的代码将可以工作。

    C# 中的代码(对不起):

    var thread = new Thread(() =>
    {
        Settings.AutoStartDialogWatcher = false;
        var ie = new IE(webBrowser1.ActiveXInstance);
        ie.GoTo("http://www.google.com");
    });
    thread.SetApartmentState(ApartmentState.STA);
    thread.Start();
    

    【讨论】:

      【解决方案2】:

      如果我使用此代码,它可以工作

      ie = New IE(WebBrowser1.ActiveXInstance)
      ie.GoToNoWait("http://google.com")
      While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
        Application.DoEvents()
      End While
      

      如果它不是最好的解决方案,但它对我有用

      【讨论】:

        猜你喜欢
        • 2012-10-30
        • 2020-05-23
        • 2013-03-19
        • 1970-01-01
        • 2014-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多