xpath选择第一个表

meg*_*gas 4 xpath mechanize

我有xpath

page.search("//table[@class='campaign']//table")
Run Code Online (Sandbox Code Playgroud)

返回两个表.

我只需要选择第一张桌子.这条线不起作用:

page.search("//table[@class='campaign']//table[1]")
Run Code Online (Sandbox Code Playgroud)

如何只选择第一张桌子?

Pet*_*ček 7

这也让我感到烦恼.我仍然不知道为什么你的解决方案不起作用.但是,这应该:

page.search("//table[@class='campaign']/descendant::table[1]")
Run Code Online (Sandbox Code Playgroud)

编辑:正如文档所说,

"位置路径//para[1]与位置路径并不相同/descendant::para[1].后者选择第一个后代para元素;前者选择所有后代para元素,它们是父母的第一个子元素."

感谢您提出的问题,我终于明白为什么这样做了:).因此,根据您的结构和需求,这应该工作.