Selenium - Использование подстановочных знаков в xpath - PullRequest
0 голосов
/ 26 октября 2019

Есть ли 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();
}

Есть ли другой способ сделать это?

1 Ответ

2 голосов
/ 26 октября 2019

Вы можете комбинировать их с or и |.

Сокращены для удобства чтения:

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

Имейте в виду, что это даст вы можете несколько результатов, если это возможно (как и любой XPath, который не ограничен только результатами для одного узла).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...