Prasaad SJ Ответов: 3

Поиск элемента с помощью Xpath в Htmlagilitypack


Привет,
Я создаю одно программное обеспечение для выскабливания. Я загрузил веб-страницу с помощью HTMlAgilitypack.

Теперь, когда я должен выбрать элементы, используя выражение xpath. У меня есть построить выражение
"//HTML-код/кузова/див[5]/див/див/див[2]/див[0]/див/див[1]/див[0]".Это не работает.

Когда я попробовал использовать
doc.DocumentNode.SelectNodes("html") => working // even ("body") => working
but if I use
doc.DocumentNode.SelectNodes("html/body")=> not working


Знает ли какой-либо орган, как идентифицировать элементы с помощью приведенного выше выражения через HtmlAgilityPack.Я старался изо всех сил искать в интернете, но для этого нет оптимального решения. В моем случае Xpath меняется каждый раз. Поэтому я ищу что-то, что дало бы мне элемент, данный Xpath.

Спасибо за ваш ответ.

3 Ответов

Рейтинг:
2

swapnil_jadhav

Попробуйте использовать этот плагин по приведенной ниже ссылке
http://watin.org/[^]


Рейтинг:
1

Member 14745696

это сработает
/HTML-документов[1]/тело[1]/див[1]/див[2]


Dave Kreskowiak

6 лет слишком поздно.

Рейтинг:
0

DamithSL

проверьте ниже результаты

var html = "\r\n<html>\r\n<body>\r\n\r\n<p>This is a paragraph.</p>\r\n<p>This is a para" +
"graph.</p>\r\n<p>This is a paragraph.</p>\r\n\r\n</body>\r\n</html>\r\n";
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
var t1 = doc.DocumentNode.SelectNodes("html"); //working
var t2 = doc.DocumentNode.SelectNodes("body"); //Not working
var t3 = doc.DocumentNode.SelectNodes("html[1]/body"); //working
var t4 = doc.DocumentNode.SelectNodes("html/body"); //working
var t5 = doc.DocumentNode.SelectNodes("//body"); //working

здесь doc.DocumentNode.SelectNodes("body"); не дает никаких результатов, потому что нет тело узел на уровне узла документа. но вы можете использовать //тело xpath для получения узла в любом месте документа.


Prasaad SJ

Привет Дамит,
Знаете ли вы какой-нибудь метод доступа к Xpath, например "html/body". Это возвращает null в HtmlAgilityPack.