如果我将一个简单的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窗体版本一样工作?
由于