1

我想使用以下代码检查标签内的字符串(客户端)的文本:

boolean feedBack = driver.findElement(By.cssSelector("body")).getText().contains(client);

如果它返回true,有没有办法直接检查这个字符串的可见性(没有定位器)?

4

1 回答 1

1
  1. 在其文本节点中查找包含所需文本的元素:

    WebElement element = driver.findElement(By.xpath("//*[text()='" + client + "']"));
    

    如果需要,请使用normalize-space()contains()代替:

    WebElement element = driver.findElement(By.xpath("//*[contains(text(),'" + client + "')]"));
    

    这将找到包含文本的最里面的元素,而不是它的任何随机祖先。

  2. 通过以下方式检查它是否可见

    element.isDisplayed()
    

请注意,您必须确保您的文本只在页面上出现一次,这样才可以。但该解决方案也可以轻松适应更多元素。

于 2013-06-19T11:33:58.610 回答