是否有一个xpath表达式可以覆盖以下所有内容:
//center/b[contains(string(), 'New password')]
//center/h3[contains(string(), 'Renaming user ID')]
//h3/center[contains(string(), 'Updating Email to')]
//h3/center[contains(string(), 'Retrieving Azure status')]
这就是我所拥有的:
public String getMessage(String message) {
return driver.findElement(By.xpath("//*[contains(string(), '" + message + "')]")).getText();
}
有别的办法吗?
您可以将它们与or
和|
组合。
为便于阅读而缩短:
//path/one[contains(., 'A') or contains(., 'B')]|//path/two[contains(., 'C') or contains(., 'D')]
请注意,如果可以的话,这个将为您提供多个结果(就像任何不专门限于单节点结果的XPath一样(。