Как написать xpath, который имеет несколько значений (две строки) в метке - PullRequest
1 голос
/ 05 августа 2020

Я пробовал это,

// label [text () = 'Legal Business Nam (вы можете добавить администратора базы данных после открытия вашей учетной записи) »]

/ / label [text () = 'Официальное название компании' и '(вы можете добавить администратора базы данных после открытия учетной записи) »]

, но не работает.

  

Ответы [ 2 ]

2 голосов
/ 05 августа 2020

Вы можете попробовать использовать . вместо text().

//label[contains(., 'Legal Business Name (you can add a DBA after your account is open )')]

Или просто присоединитесь к 2 [contains(text(), '')] операторам, например:

//label[contains(text(), 'Legal Business Name ')][contains(text(), '(you can add a DBA after your account is open )')]
0 голосов
/ 05 августа 2020

Кажется, вы были достаточно близки. Вместо text() вам нужно использовать contains() следующим образом:

//label[contains(., 'you can add a DBA after your account is open')]

В идеале вы должны вызвать WebDriverWait для visibilityOfElementLocated(), и вы можете использовать следующее на основе Стратегия локатора :

new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//label[contains(., 'you can add a DBA after your account is open')]")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...