HTML Agility Pack с полным xpath - PullRequest
0 голосов
/ 07 марта 2012

Я пытаюсь найти инструмент для захвата предметов с веб-страниц. Сначала я использовал xpath finder аддон Firefox, но иногда он генерировал xpath со схемами (xpath 2.0), поэтому он не подходит

Ниже приведен абсолютный xpath, сгенерированный с помощью firepath (firefox) для кнопки поиска googles

html/body/div[2]/div[1]/div[1]/div[2]/div[2]/div/form/div[1]/button[1]

когда я пытаюсь

doc.DocumentNode.SelectSingleNode("html/body/div[2]/div[1]/div[1]/div[2]/div[2]/div/form/div[1]/button[1]").InnerText;

это дает исключение нулевой ссылки.

Так что я тоже не могу использовать firepath.

Мне нужен инструмент, который работает с HTML Agility Pack. Или нужно выяснить, почему выше не работает.

1 Ответ

0 голосов
/ 30 марта 2012

При использовании FirePath у меня были хорошие результаты, когда я отключил генерацию абсолютного XPATH.В вашем случае сгенерированный xpath равен

.//*[@id='gbqfb']

Но я могу написать запрос XPATH примерно так:

//button[@name='btnG']

Не уверен, почему ваш запрос XPATH не работает, но ниже, кажется, работаеткогда я удалил тег form.

doc.DocumentNode.SelectSingleNode("html/body/div[2]/div[1]/div[1]/div[2]/div[2]/div/div[1]/button[1]").InnerText;
...