获取具有相似 xpath 但具有不同相同级别 "neighboring" 节点的单个元素

Getting single element with similar xpaths but with different same level, "neighboring" node

我正在尝试获取与其他元素具有相似 xpath 但 "neighbor" 元素不同的元素的 xpath。请看下面的例子。

<div>
   <div id='a'> </div>
   <span> Text here </span>  #this is what i'm trying to get
</div>
<div>
   <div id='b'> </div>
   <span> Text here </span>
</div>

我尝试使用 //div//span,但这给了我 2 个跨度。所以我尝试使用 //div//child::div[@id='a']//ancestor::div//child::span,但它看起来并不令人愉快并且看起来重复。这有更好的实现吗?

尝试

//div[div[@id='a']]/span

它说获取所有 div 节点的 span 子节点,子节点为 div(@id 等于 'a')。