我正在尝试找到一种从网页中捕获项目的工具。首先我使用了xpath finder Firefox插件,但有时它会生成带有schemas的xpath(xpath 2.0)所以它不适合
下面是使用googles搜索按钮
的firepath(firefox)生成的绝对xpathhtml/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的工具。或者需要找出上述原因无效的原因。
答案 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;