Ada*_*gal 9 java junit selenium css-selectors
我正在使用Selenium为网页编写JUnit测试,我正在尝试验证页面中是否存在预期的文本.我正在测试的网页代码如下:
<div id="recipient_div_3" class="label_spacer">
<label class="nodisplay" for="Recipient_nickname"> recipient field: reqd info </label>
<span id="Recipient_nickname_div_2" class="required-field"> *</span>
Recipient:
</div>
Run Code Online (Sandbox Code Playgroud)
我想比较预期与页面上的内容,所以我想使用Assert.assertTrue().我知道要从div获得一切,我能做到
String element = driver.findElement(By.cssSelector("div[id='recipient_div_3']")).getText().replaceAll("\n", " ");
Run Code Online (Sandbox Code Playgroud)
但这将返回"reqd info*Recipient:"
有没有办法只使用cssSelector从div("收件人")获取文本,而没有其他标签?
您不能使用CSS选择器来执行此操作,因为CSS选择器没有一种足够细粒度的方法来表示“ DIV中包含的文本节点,而不是其其他内容”。不过,您可以使用XPath定位器来做到这一点:
driver.findElement(By.xpath("//div[@id='recipient_div_3']/text()")).getText()
Run Code Online (Sandbox Code Playgroud)
该XPath表达式将仅识别作为DIV的直接子节点的单个文本节点,而不是其中及其子节点中包含的所有文本。
| 归档时间: |
|
| 查看次数: |
21824 次 |
| 最近记录: |