xpath无法从表中提取数据

时间:2015-03-01 16:51:30

标签: php html xpath

我编写以下xpath来从表中提取名称和价格。

/html/body/div[2]/div[7]/div[3]/table[1]/tbody/tr

http://www.iranjib.ir/showgroup/28/%D9%82%DB%8C%D9%85%D8%AA-%D8%B1%D9%88%D8%B2-%D9%85%D9%88%D8%A8%D8%A7%DB%8C%D9%84/

但无法提取

1 个答案:

答案 0 :(得分:1)

该页面的源HTML中没有tbody元素(通过打开源文档并搜索“tbody”自己尝试)。

不幸的是,浏览器(包括浏览器插件,n.b。)倾向于将tbody元素添加到DOM表示中,即使它们实际上并不存在。

我不知道你在那个页面上想要找到什么(你没有清楚地解释清楚),但如果你正在寻找

//table/tbody/tr

并且没有返回任何内容,首先应该尝试的是

//table//tr

看看它是否有所作为。如果没有,接下来要注意的是名称空间。用作输入的文档(allegedly)是XHTML,它要求元素位于命名空间中:

<html lang="fa" xml:lang="fa" xmlns="http://www.w3.org/1999/xhtml">

根据您使用的XPath引擎(同样,我们不知道),您需要使用前缀和前缀元素名称来干净地注册名称空间。