我想检查页面是否有特定文本。如果我能立即查看一些文本,那就最好了。
比如有“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/