我想使用以下代码检查标记内的字符串(客户端)文本:
boolean feedBack = driver.findElement(By.cssSelector("body")).getText().contains(client);
如果它返回true那么,有没有办法直接检查这个字符串的可见性(没有定位器)?
答案 0 :(得分:1)
在文本节点中查找包含所需文本的元素:
WebElement element = driver.findElement(By.xpath("//*[text()='" + client + "']"));
如果需要,请改为使用normalize-space()
或contains()
:
WebElement element = driver.findElement(By.xpath("//*[contains(text(),'" + client + "')]"));
这将找到包含文本的最内层元素,而不是任何随机祖先。
通过
检查是否可见element.isDisplayed()
请注意,您必须确保您的文字只出现在页面上一次,这样才可以。但是,该解决方案也可以轻松适应更多元素。