2015-09-05 86 views
0

我试图让在此之后包含的数据的XPath突出td标签:不能缩小使用红宝石机械化提取表

enter image description here

(从Firefox开发者工具采取截图)

但我不明白我将如何去那里。我试图使用XPath

page.parser.xpath("//table//tbody//tr//td//ul//form//table//tbody//tr/td")

但是,这并不工作,我假设这是因为我没有任何标识?我不确定我是如何识别东西的,因为其中有些人没有ID或名字。所以问题是我如何达到这个标签。

+0

“不工作” - 你什么意思?你得到了什么结果,这与你预期的结果有什么不同? – LarsH

+3

使用'A // B'的唯一原因是当你不确定A和B之间有多少后代。否则''//效率低下。此外,由于您知道表单的名称,因此您可以使用它:'// form [@ name ='tF0']/table/tbody/tr [@ class ='txt2'] [1]/td [1] ' – LarsH

+0

对不起,“不起作用”意味着它返回一个空字符串,什么都没有。 – Crone

回答

2

大概是因为tbody是不是真的存在。关于这个特殊问题,有很多关于SO的讨论。

下面是什么,我可能会做:

td = page.at '#tF0 .txt2'