HTMLAgilityPack - Получить элемент в классе за классом - PullRequest
0 голосов
/ 19 октября 2018

Я хочу получить значение из элемента H2 (выделенный) в классе listicle-page, показанном ниже.В настоящее время код получает все значения в элементе DIV , в то время как мне нужно просто получить значение H2 , которое содержится в классе ниже.

Рассмотрим следующий HTML:

Click here to see HTML

Пожалуйста, смотрите код ниже -

private void getFact()
        {
            HtmlAgilityPack.HtmlWeb web = new HtmlAgilityPack.HtmlWeb();
            HtmlAgilityPack.HtmlDocument doc = web.Load("https://www.rd.com/culture/interesting-facts/");

            var headerNames = doc.DocumentNode.SelectNodes("//div[@class='listicle-page']").ToList();

            foreach(var item in headerNames)
            {
                MessageBox.Show(item.InnerText);
            }
        }

1 Ответ

0 голосов
/ 19 октября 2018

Ваш XPath //div[@class='listicle-page'] соответствует узлу div со всеми его потомками.Если вам нужно выбрать только дочерний h2 узел, то явно укажите его, добавив /h2:

//div[@class='listicle-page']/h2
...