SelectNodes в HtmlAgilityPack всегда возвращают значение null - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь получить данные с этого сайта: https://www.hltv.org/results, и это не работает. SelectNodes всегда возвращает null, я пробовал использовать xpath, полный xpath и т. Д. И другие вещи, кроме HtmlAgilityPack. Может быть, дело не в HtmlAgilityPack, может быть, проблема в тегах. Взгляните на код и просмотрите также теги, чтобы убедиться, правильно ли я скопировал:

    HtmlWeb web = new HtmlWeb();
    var doc = web.Load("https://www.hltv.org/results");
    var teams = doc.DocumentNode.SelectNodes("//*[@class='team team-won']");

Пожалуйста, помогите, спасибо!

1 Ответ

0 голосов
/ 26 мая 2020

HtmlAgilityPack не обрабатывает javascript, поэтому вы можете использовать селен для хранения исходного кода html через webDriver.

IWebDriver webDriver = new ChromeDriver();

webDriver.Url = "https://www.hltv.org/results";
var pageSource = webDriver.PageSource;

var doc = new HtmlDocument();
doc.LoadHtml(pageSource);

 var xPath = @"//*[@class='team team-won']";

 var node = doc.DocumentNode.SelectSingleNode(xPath);

 Console.WriteLine(node.InnerText);

Убедитесь, что вы уже загрузили и сохранили в том же каталоге webDriver. . (я использовал chrome драйвер, скачанный отсюда https://chromedriver.chromium.org/downloads)

...