如何在 Selenium WebDriver 中获取单个文本节点
我想从标签中获取文本,但没有嵌套标签中的文本.IE.在下面的示例中,我只想从 <small>
标记中获取字符串 183591
并排除文本 Service Request ID:
来自 <span>
标签.这不是微不足道的,因为 <span>
标记嵌套在 <small>
标记中.这可以通过 WebDriver 和 XPath 实现吗?
I want to get the text from a tag but without the text from nested tags. I.e. in the example below, I only want to get the string 183591
from inside the <small>
tag and exclude the text Service Request ID:
from the <span>
tag. This is not trivial because the <span>
tag is nested in the <small>
tag. Is this possible with WebDriver and XPath?
标签中的文字每次都会改变.
The text in the tag is going to change every time.
<div id="claimInfoBox" style="background-color: transparent;">
<div class="col-md-3 rhtCol">
<div class="cib h530 cntborder">
<h4 class="no-margin-bottom">
<p>
<small style="background-color: transparent;">
<span class="text-primary" style="background-color: transparent;">Service Request ID:</span>
183591
</small>
</p>
<div class="border-bottom" style="background-color: transparent;"></div>
<div id="CIB_PersonalInfo_DisplayMode" class="cib_block">
<div id="CIB_PersonalInfo_EditMode" class="cib_block" style="display: none">
</div>
</div>
<script type="text/javascript">
</div>
</div>
推荐答案
您将不得不使用字符串操作.比如:
You are going to have to use String manipulation. Something like:
// you will need to adjust these XPaths to suit your needs
String outside = driver.findElement(By.xpath("//small")).getText();
String inside = driver.findElement(By.xpath("//span")).getText();
String edge = outside.replace(inside, "");
相关文章