XPath 选择包含 table 的第一个 table

XPath choose the first table that contains a table

我正在尝试编写一个 Python 代码来访问维基百科上的皇家马德里页面并打印其球队的名称

我当前的 xpath 查询是:

for t in doc.xpath("//table//table/tr[position() > 1]/td[4]/span//text()"):
   #print the player's name here

但这也会打印 "Out on loan" table.

中的玩家

所以我的问题是如何在 xpath 查询中仅 select 包含 table 的第一个 table?或者也许有另一种方法可以实现我想要的?

非常感谢。

P.S:table 开始于维基百科皇家马德里页面查看源中的第 775 行 (https://en.wikipedia.org/wiki/Real_Madrid_C.F.)。

您可以使用以下 XPath:

(//span[@id='Current_squad']/following::table)[1]

这将 select 只有 "Current sqaud" table。

要获取玩家列表,您可以使用以下 XPath:

(//span[@id='Current_squad']/following::table)[1]//span[@class='fn']//text()