具有完整xpath的HTML Agility Pack

时间:2012-03-07 09:26:41

标签: html-agility-pack

我正在尝试找到一种从网页中捕获项目的工具。首先我使用了xpath finder Firefox插件,但有时它会生成带有schemas的xpath(xpath 2.0)所以它不适合

下面是使用googles搜索按钮

的firepath(firefox)生成的绝对xpath
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 :(得分:0)

在使用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;