java - 如何检查页面上是否出现了一些文本数据

标签 java selenium selenium-webdriver automation

我想检查页面是否有特定文本。如果我能立即查看一些文本,那就最好了。

比如有“client”、“customer”、“order”

这是 HTML 代码。

<div class="findText"><span>Example text. Football.</span></div>

检查后,我会像这里一样使用 if 条件。这是我的尝试,但这不是最佳选择。除了我无法检查更多单词外,我尝试使用 ||仅。

 if(driver.getPageSource().contains("google"))  {

                driver.close();
                driver.switchTo().window(winHandleBefore);
                }

此外,是否可以抛出大量的单词列表来检查它们是否存在?

最佳答案

if(stringContainsItemFromList(driver.getPageSource(), new String[] {"google", "otherword"))
{
    driver.close();
    driver.switchTo().window(winHandleBefore);
}

 public static boolean stringContainsItemFromList(String inputStr, String[] items)
    {
        for(int i =0; i < items.length; i++)
        {
            if(inputStr.contains(items[i]))
            {
                return true;
            }
        }
        return false;
    }

stringContainsItemFromList() 方法来自 Test if a string contains any of the strings from an array

如果你只想获取该元素的文本,你可以使用类似这样的东西而不是 driver.getPageSource()...

driver.findElement(By.cssSelector("div.findText > span")).getText();

关于java - 如何检查页面上是否出现了一些文本数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45221996/

相关文章:

java - Android SQLite 只接受 String[] 作为 whereArgs?

selenium-webdriver - 测试输入字段是否获得焦点

java - 在 Java 中使用 MySQL 排序规则

java - 在intellij idea和java语言中使用Stimulsoft

java - 从命令行运行包中的java

selenium - 运行多个并行的 Selenium WebDriver session

ruby-on-rails - Capybara with Selenium 和远程 Chrome - 如何附加文件进行上传?

selenium - 使用 browsermob-proxy 的 Chrome 浏览器证书不是受信任的问题

internet-explorer - 当用户使用 Selenium 代理 BrowserMob 时无法在 IE 中打开 https 站点

python-3.x - 如何在 Selenium 中打开保存在桌面上的链接