C# 使用HTML功能捕获web浏览器显示的页面HTML源

C# 使用HTML功能捕获web浏览器显示的页面HTML源,c#,browser,html-agility-pack,C#,Browser,Html Agility Pack,我想知道在C#应用程序中,在Web浏览器上显示html内容的方法。。我最初使用HTML敏捷包。如果我的知识是真的,我的代码如下 htmlWeb hw = new HtmlWeb(); if (txtCurrentURL.Text == "") { MessageBox.Show(" Enter Web Address to Process "); } else { H

我想知道在C#应用程序中,在Web浏览器上显示html内容的方法。。我最初使用HTML敏捷包。如果我的知识是真的,我的代码如下

htmlWeb hw = new HtmlWeb();
        if (txtCurrentURL.Text == "")
        {

            MessageBox.Show(" Enter Web Address to Process ");
        }
        else
        {
            HtmlAgilityPack.HtmlDocument htmlDoc = hw.Load(@txtCurrentURL.Text);
            if (htmlDoc.DocumentNode != null)
            {
            try
            { foreach (HtmlNode text in htmlDoc.DocumentNode.SelectNodes(txtExpression.Text))
                    {
                        _items.Add(text.InnerHtml);
                        richTextResults.Text = text.InnerHtml;
                    } }

              catch
              {   MessageBox.Show(" No Usefull Data found");
              }
                  lstBxResult.DataSource = _items;
            }
        }
txtCurrentUR.Text
是我的Web浏览器当前显示的url地址


如果我没有错的话,HTMLAgility的结果是我们通过使用HTMLAgility类连接到所提到的URL而不是通过访问web服务器内容得到的结果,对吗。所以我的问题是,如果页面需要任何登录,或者像收件箱一样只有在登录后才能访问页面,那么用户帐户页面在敏捷性中不会显示错误。但是我们现在在web浏览器中可以很容易地显示这些内容,我想捕获显示在浏览器上的数据,而不是通过连接URl和使用Agility捕获数据。。。但是我不知道怎么做,请帮助我???

如果我理解正确,您将要使用的是Cookies集合

private HtmlWeb CreateWebRequestObject()
{
    HtmlWeb web = new HtmlWeb();
    web.UseCookies = true;
    web.PreRequest = new HtmlWeb.PreRequestHandler(PreRequestStuff);
    web.PostResponse = new HtmlWeb.PostResponseHandler(AfterResponseStuff);
    web.PreHandleDocument = new HtmlWeb.PreHandleDocumentHandler(PreHandleDocumentStuff);
    return web;
}