Selenium-在xpath中使用通配符

问题描述 投票:0回答:1

是否有1个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();
}

还有另一种方法吗?

html selenium xpath
1个回答
1
投票

您可以将它们与or|结合使用。

为了清晰起见,缩短了:

//path/one[contains(., 'A') or contains(., 'B')]|//path/two[contains(., 'C') or contains(., 'D')]

请注意,此will会给您带来多个结果(例如不特别限于单节点结果的任何XPath)。

© www.soinside.com 2019 - 2024. All rights reserved.