如何在没有定位器的情况下使用xpath验证文本

时间:2016-04-28 04:05:39

标签: java xpath selenium-webdriver

验证错误文字:

电子邮件地址测试@无效。

Html代码:

<div class="msg error">
<h2 class="element-notvisible">Error message</h2>
The e-mail address <em class="placeholder">test@</em> is not valid.</div>

这里我想根据一些常见文本获取验证消息文本。例如:&#34;基于电子邮件地址&#34;或&#34;无效&#34;。

我试过xpath:

//class[contains(text(),'is not valid')]
//class[contains(text(),'The e-mail')]

如何为此创建xpath?

1 个答案:

答案 0 :(得分:3)

这是一种可能的方式:

//div[
    @class='msg error' 
    and contains(., 'The e-mail address')
    and contains(., 'is not valid')
]

或者如果您只需要测试div的直接子节点的文本节点,您可以这样做:

//div[
    @class='msg error'
    and text()[contains(.,'is not valid')]
    and text()[contains(.,'The e-mail')]
]