我编写以下xpath来从表中提取名称和价格。
/html/body/div[2]/div[7]/div[3]/table[1]/tbody/tr
但无法提取
答案 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引擎(同样,我们不知道),您需要使用前缀和前缀元素名称来干净地注册名称空间。