Как получить текст о роли = оповещение с помощью Selenium - PullRequest
0 голосов
/ 13 октября 2019

Я хочу получить текст role = alert со страницы HTML, я могу найти элемент, но не могу получить текст.

<div class="alert alert-danger no-margin" role="alert"> customer.dashboard.InvalidCode

Чтобы найти элементЯ использовал:

driver.FindElement(By.XPath("//div[contains(@class, 'alert')]"));

, но если я пытаюсь получить «customer.dashboard.InvalidCode» каждый раз, когда получаю пустую строку.

Ответы [ 2 ]

0 голосов
/ 13 октября 2019

Попробуйте этот xpath: //div[contains(@class, 'alert alert-danger no-margin')] вместо //div[contains(@class, 'alert')]

driver.FindElement(By.XPath("//div[contains(@class, 'alert alert-danger no-margin')]")).Text; 
0 голосов
/ 13 октября 2019

Вам нужно подождать, пока элемент станет видимым, чтобы получить текст:

IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(3))

IWebElement alert = wait.Until(ExpectedConditions.ElementExists(By.CssSelector("div.alert.alert-danger")));
string alertText = wait.Until(ExpectedConditions.ElementIsVisible(alert)).Text;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...