我正在尝试查找并等待文本为“Total”且在“Total”后有空格的元素。我使用的定位器是:
//td[./text()='Total ']
我为它实现的等待是:
wait.until(ExpectedConditions.textToBePresentInElement(element,"Total "));
我得到TimeOutException
。如果我删除文本“ Total ”后的空格。它正在工作。现在的等待实现是:
wait.until(ExpectedConditions.textToBePresentInElement(element, "Total"));
为什么条件textToBePresentInElement
不适用于确切的文本?
你可以在源代码中看到答案
public static ExpectedCondition<Boolean> textToBePresentInElement(final WebElement element, final String text) {
//...
String elementText = element.getText();
return elementText.contains(text);
//...
}
该方法使用 获取文本element.getText();
,这意味着返回的文本是由浏览器呈现的,即没有尾随空格。
“获取元素文本”命令旨在返回“渲染时”的元素文本...
当您使用文本时,"Total "
您基本上是在检查预期条件,如果
"Total".contains("Total ");
这是false
,但没有尾随空间它可以工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句