【发布时间】:2017-03-29 00:36:36
【问题描述】:
我知道有很多关于 xpath 的简单问题,但我不明白如何组合两个不太简单的表达式...
我的xml结构:
<div class="some-container">
<div class="btn btn-blue">
<div class="btn-text"><!-- Select by class -->
<span> <!-- Select by text-->
Download
</span>
</div>
</div>
</div>
按类别选择
我知道通过搜索类来选择div:
//*/div[contains(concat(' ', @class, ' '), ' btn-text')]
按文字选择
要选择跨度,我知道我可以简单地添加/span,但我想通过文本选择。
对于那个用例,我得到了 xpath (form here):
//*/text()[normalize-space(.)='Download']/parent::*
这些选择器都工作正常,但我想将它们组合起来
- 搜索“btn”类
- 在范围内搜索完全匹配的文本
我试图这样连接,但那不起作用test-example:
//div[contains(concat(' ', @class, ' '), ' btn-text')]/text()[normalize-space(.)='Download']/parent::*
即使它可以工作,也无法通过 span 标签进行选择
谁能帮忙?
【问题讨论】:
-
//div[@class = 'btn-text']/span[text()='Download']?
标签: xpath