Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 试图抓取facebook messenger聊天,尤其是facebook messenger群聊天_C#_Facebook_Selenium Webdriver_Web Scraping_Html Agility Pack - Fatal编程技术网

C# 试图抓取facebook messenger聊天,尤其是facebook messenger群聊天

C# 试图抓取facebook messenger聊天,尤其是facebook messenger群聊天,c#,facebook,selenium-webdriver,web-scraping,html-agility-pack,C#,Facebook,Selenium Webdriver,Web Scraping,Html Agility Pack,我正在尝试使用c#+selenium+htmlAgilitypack抓取一些fb messenger群聊。到目前为止,我成功地登录到facebook并导航到messenger聊天室,但我无法阅读聊天室中的消息并在控制台上显示 string webUrl = "https://www.facebook.com/"; bool Loop = true; HtmlWeb Web = new HtmlWeb(); Console.WriteLine("Begin

我正在尝试使用c#+selenium+htmlAgilitypack抓取一些fb messenger群聊。到目前为止,我成功地登录到facebook并导航到messenger聊天室,但我无法阅读聊天室中的消息并在控制台上显示

  string webUrl = "https://www.facebook.com/";
        bool Loop = true;
        HtmlWeb Web = new HtmlWeb();
   Console.WriteLine("Begins");
    var options = new ChromeOptions()
        {
            BinaryLocation = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
            AcceptInsecureCertificates = true

        };

        IWebDriver driver = new ChromeDriver(@"C:\Users\anasa\OneDrive\Documents\visual studio 2015\Projects\Web Scrapping\Web Scrapping\Classes", options);

    driver.Navigate().GoToUrl(webUrl);

        var element = driver.FindElement(By.Id("email"));
        element.SendKeys("email");
        element = driver.FindElement(By.Id("pass"));
        element.SendKeys("password");
        element = driver.FindElement(By.XPath("//input[@value='Log In']"));
        element.Click();
        string link = HttpUtility.HtmlDecode(webUrl + "messages/t/Group.Name");
        driver.Navigate().GoToUrl(link);

        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(driver.PageSource);
        var htmlBody = doc.DocumentNode.SelectSingleNode("//body");
        Console.WriteLine(htmlBody.OuterHtml);

(“//body”)将整个body带到控制台,但当我检查消息使用类,即“\u 3oh-\u 58nk”,并且使用doc.DocumentNode.SelectNodes(//span[@class=”\u 3oh-\u 58nk'])时,它显示空错误。因此我无法抓取fb messenger的消息。

更改了选择节点的语句,它成功了

        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(driver.PageSource);
        var htmlBody = doc.DocumentNode.SelectNodes("//span[contains(@class,'_3oh- _58nk')]").ToList();

        foreach (var abc in htmlBody)
        {
            Console.WriteLine(abc.InnerText);
        }

“我无法抓取fb messenger的消息。”-很好。因为你一开始不应该这么做。好的,谢谢。我已经提取了消息。