HTML Agility Pack не может найти узел с помощью XPath - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь найти узел страницы с номером 200 на веб-странице https://blogs.msdn.microsoft.com/page/2/. XPath, полученный от Chrome, равен //*[@id="site-main"]/nav/div/a[4].Но HTML Agility Pack возвращает ноль, когда я пытаюсь получить узел.Ниже приведен пример кода.

string url = "https://blogs.msdn.microsoft.com/page/2/";
var doc = web.Load(url);
HtmlNode node = doc.DocumentNode.SelectSingleNode("//*[@id=\"site - main\"]/nav/div/a[4]");

Как получить узел и как устранить неполадки такого рода с XPath?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

До и после дефиса в вашем коде (site - main) есть пробелы, а не исходный путь.

0 голосов
/ 17 февраля 2019

В site-main есть пробел до и после дефиса.Эти пробелы были добавлены Visual Studio автоматически, когда эта строка была скопирована между уже существующими двойными кавычками.Решение состоит в том, чтобы добавить кавычки после вставки или исправления вручную.

Добавил комментарий Андерсона Пиментала в качестве ответа и благодарен за это.Мысль об удалении этого вопроса, но при сохранении его, поскольку другие могли бы также столкнуться с этой проблемой в Visual Studio.

...