我有以下HTML:
<div>
<a href="#">
<span>Appointment Type 1</span>
<span>Fri 1 January 2016</span>
</a>
<a href="#">
<span>Appointment Type 1</span>
<span>Sat 2 January 2016</span>
</a>
<a href="#">
<span>Appointment Type 2</span>
<span>Sat 2 January 2016</span>
</a>
</div>
并且已经找到以下XPATH表达式来选择示例中的第3个锚点:
//a/span[contains(text(),'Appointment Type 2')]/../span[contains(text(),'Sat 2 January 2016')]/..
有没有更好的方法来编写XPATH?
提前致谢!
答案 0 :(得分:2)
你可以通过索引获取第三个锚点:
//div/a[3]
或者,如果你想检查里面的span
文本:
//div/a[span[1]="Appointment Type 2" and span[2]="Sat 2 January 2016"]
答案 1 :(得分:1)
我会使用//a[span[contains(., 'Sat 2 January 2016')] and ../a[span[contains(., 'Appointment Type 2')]]]
。通常不需要使用text()
,除非您处理混合内容并且需要处理单个文本节点。
答案 2 :(得分:1)
您可以使用:
//a[3]/span[2]/text()