一尘不染

如何使用Selenium检查页面中是否存在某些文本?

selenium

我正在使用Selenium WebDriver,如何检查页面中是否存在某些文本?也许有人向我推荐了一些有用的资源,可供我阅读。谢谢


阅读 1061

收藏
2020-06-26

共1个答案

一尘不染

使用XPath,并不难。只需搜索包含给定文本的所有元素:

List<WebElement> list = driver.findElements(By.xpath("//*[contains(text(),'" + text + "')]"));
Assert.assertTrue("Text not found!", list.size() > 0);

官方文档也不是很支持的,像这样的任务,但它是基本的工具仍然。

JavaDoc中也大,但它需要一些时间通过一切有用无用,并拿到。

要学习XPath,只需跟随Internet即可。该规范也是令人惊讶的良好阅读。


编辑:

或者,如果您不想让隐式等待使上面的代码等待文本出现,则可以通过以下方式进行操作:

String bodyText = driver.findElement(By.tagName("body")).getText();
Assert.assertTrue("Text not found!", bodyText.contains(text));
2020-06-26