xpath 无法从 table 中提取数据

xpath can't extract data from table

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

/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/

但无法提取

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

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

我不知道你想在该页面上找到什么(你解释得不够清楚),但如果你正在搜索

//table/tbody/tr

这并没有 return 任何东西,你应该尝试的第一件事是

//table//tr

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

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

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