我有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)
如何只选择第一张桌子?
这也让我感到烦恼.我仍然不知道为什么你的解决方案不起作用.但是,这应该:
page.search("//table[@class='campaign']/descendant::table[1]")
Run Code Online (Sandbox Code Playgroud)
编辑:正如文档所说,
"位置路径
//para[1]与位置路径并不相同/descendant::para[1].后者选择第一个后代para元素;前者选择所有后代para元素,它们是父母的第一个子元素."
感谢您提出的问题,我终于明白为什么这样做了:).因此,根据您的结构和需求,这应该工作.