4

我对 XPath 相当陌生。

要求是创建一个返回元素列表而不是单个元素的 XPath 表达式。之后,我们应用自定义逻辑在列表中定位所需的元素。

可以使用以下 XPath 访问单个元素:

.//*[@id='reportListItemID0']/td[12]/a
.//*[@id='reportListItemID1']/td[12]/a
.//*[@id='reportListItemID2']/td[12]/a
.
.
.
.//*[@id='reportListItemID20']/td[12]/a
.//*[@id='reportListItemID21']/td[12]/a

请告诉我,如何编写返回所有上述元素的 XPath 表达式。

我尝试了以下方法,但它们没有用:

.//*[@id='reportListItemID.']/td[12]/a
.//*[@id='reportListItemID..']/td[12]/a
.//*[@id='reportListItemID*']/td[12]/a
.//*[@id='reportListItemID**']/td[12]/a

请让我知道我错过了什么。

4

2 回答 2

6

您应该使用以下starts-with()功能:

.//*[starts-with(@id,'reportListItemID')]/td[12]/a
于 2013-04-17T15:28:11.390 回答
2

您还可以使用包含:

//*[contains(@id, 'reportListItemID')]/td[12]/a
于 2013-04-17T19:50:02.723 回答