控制台应用程序中的.NET WebBrowser

时间:2015-01-26 13:00:07

标签: c# .net google-analytics webbrowser-control

如果我将一个简单的webbrowser控件添加到winforms应用程序,然后导航到我网站上的页面,那么该页面视图将在Google Analytics中完美注册。

但是,如果我在控制台应用程序中对webbrowser做同样的事情,它就不起作用。

我的代码是:

static void Capture(string url)
    {
        Thread thread = new Thread(delegate()
        {
            using (WebBrowser browser = new WebBrowser())
            {

                browser.ScrollBarsEnabled = false;
                browser.AllowNavigation = true;                 
                browser.Navigate(url);
                browser.Width = 1024;
                browser.Height = 768;
                browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DocumentCompleted);
                while (browser.ReadyState != WebBrowserReadyState.Complete)
                {
                    System.Windows.Forms.Application.DoEvents();
                }
            }
        });
        thread.SetApartmentState(ApartmentState.STA);
        thread.Start();
        thread.Join();
    }

    static void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        WebBrowser browser = sender as WebBrowser;
        Console.WriteLine(browser.DocumentText);
        System.Threading.Thread.Sleep(10000);
    }

它可以正常工作,因为在控制台中显示我正在抓取的页面的html,但访问并未在Google Analytics中注册,可能是因为它将其识别为机器人,或者它可能是“机器人”。没有执行GA跟踪代码?

如何修改它以使其像Windows窗体版本一样工作?

由于

0 个答案:

没有答案