Эй, я пытаюсь получить текст из Википедии, используя следующий код. Но он не возвращает никаких значений для SelectSingleNode
Dim doc As New HtmlAgilityPack.HtmlDocument
Dim web As New HtmlAgilityPack.HtmlWeb
doc = web.Load("http://en.wikipedia.org/wiki/Limnio")
Dim Grape As HtmlNode = doc.DocumentNode.SelectSingleNode("//*[@id='mw-content-text']/table/tbody/tr[6]/td")
txtPOO.Text = Grape.InnerHtml.Trim
Может быть, я импортировал dll неправильно? Любая помощь будет оценена! (Я новичок)
Похоже, вы посмотрели, что XPath через Chrome (или какой-то другой браузер), но, к сожалению, это не так просто, потому что Chrome показывает вам HTML, поскольку он интерпретируется Chrome. Вы, с другой стороны, должны посмотреть на HTML, как он вернулся с сервера.
Когда вы посмотрите на оригинальный HTML-код, вы заметите, что нет элемента tbody, поэтому ваш XPath был почти прав.
Dim Grape As HtmlNode = doc.DocumentNode.SelectSingleNode("//*[@id='mw-content-text']/table/tr[6]/td")
Это должно вернуть узел, который вы ищете.
Что касается тестирования XPaths, лучшим инструментом, о котором я знаю, является тестовый стенд Html Agility Pack, который позволяет загружать страницу и пробовать разные xpaths на ней. Вы также можете увидеть источник страницы, чтобы все было в одном месте. Кроме того, вы увидите HTML, как будто это не так, как это делает хром.
view source
и у меня никогда не было проблем с этим. тем не менее, вы не можете их так искать, но должны build
их сами. Еще одним инструментом, который может помочь, является HAP Testbed, я отредактирую ссылку в своем ответе.