2016-12-14 1 views
0

Я смог идентифицировать сообщение об ошибке «Хм, повторите попытку. Это недействительный адрес электронной почты. " местоположение с помощью следующих xpath-//*[@id='login-form']//div[1]/p но Im не смог получить текст с помощью Gettext метод для сравнения фактических и ожидалось result.Please, дайте мне знать, как получить сообщение об ошибкеКак найти элемент для ниже html, который является сообщением об ошибке («Хм, повторите попытку. Это не действительный адрес электронной почты».)

<form id="login-form" class="form-signin row ng-untouched ng-pristine ng-valid submitted" _ngcontent-eda-3="" novalidate="" role="form"> 
    <div class="form-group" _ngcontent-eda-3=""> 
    <ra-input class="ng-invalid" _ngcontent-eda-3="" _nghost-eda-5=""> 
    <div _ngcontent-eda-3=""> 
    <div _ngcontent-eda-3=""> 
    <p class="ng-invalid" _ngcontent-eda-3=""> Hmm, try again. That's not a valid email. 
    </p> 
+0

Я бы попробовал селектор CSS, «p.ng-invalid», чтобы найти элемент. Как вы знаете, что у вас есть правильный элемент, если вы не можете получить текст? – JeffC

ответ

0

В соответствии с HTML вы проявили в этом вопросе, xpath, который вы написали, не указывает на нужный тег пункта (p). Правильный XPath является: -

// [@ ID = 'логин-форма']/потомок :: р [1] или просто // [@ ID = 'логин-форма'] // р

так что используйте его как

driver.findElement (By.xpath ("// * [@ ID = 'логин-форма']/потомок :: р [1]")) GetText().

 Смежные вопросы

  • Нет связанных вопросов^_^