【发布时间】:2021-07-14 02:57:18
【问题描述】:
我正在尝试使用以下方法从表格单元格中获取数据:
my $data = $tree->findvalue('(.//table[@class="tab openTab"]/tbody/tr/td/text())[1]');
当我在浏览器中使用 $x('(.// table[@class="tab openTab"]/tbody/tr/td/text())[1]') 但拒绝在 Perl 中工作(没有返回数据)。 Perl 代码很好,因为我使用相同的 $tree 从同一来源获取了一些其他数据。
怎么可能?
【问题讨论】:
-
不适用于什么数据?
-
数据很简单——商店一周中每一天的营业时间,例如“09:00 - 21:00”
-
$tree->findvalue('(.//table[@class="tab openTab"]/tbody/tr/td/text())[1]')肯定不会为09:00 - 21:00返回任何内容(undef?空字符串?)。由于该文档中完全没有任何table、tbody、tr和td元素,这不足为奇。 -
你能解释一下为什么以及为什么它可以在控制台上使用 $x(...) 工作吗?
-
您的浏览器添加了隐含的 TBODY 元素