XPath

sanyo

Client
Регистрация
29.06.2014
Сообщения
112
Благодарностей
47
Баллы
28
использую конструкцию I.Tab.FindElementByXPath(".//html/body/div/div/form/div[7]/div[3]/div[4]/div[9]", 0) для страницы регистрации yandex учетки при неправильной капче
https://passport.yandex.ru/registration/mail

XPath судя по результатам в FireBug должен указывать на конструкцию:
<div class="control__error control__error__captcha_incorrect">Вы неверно ввели символы. Попробуйте еще раз</div>

Но вместо этого получаю пустой HTMLElement

Пробовал ZennoExtensions
I.Tab.GetElementByXPath(".//html/body/div/div/form/div[7]/div[3]/div[4]/div[9]")
тоже самое

что я делаю не так?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
Не логично использовать в Xpath только абсолютгный путь к элементу. Подключите мозги, добавьте признаки идентификации по классу:
Код:
//form//div[@class='control__error control__error__captcha_incorrect']
или содержанию:
Код:
//form//div[contains(text(), 'неверно ввели символы')]
Теория для лучшего понимания всех возможностей Xpath:
http://citforum.ru/internet/xpath/xpath.shtml
https://docs.google.com/document/d/1PdfKMDfoqFIlF4tN1jKrOf1iZ1rqESy2xVMIj3uuV3g/pub#h.pazner1ml919
http://onedev.net/post/458
 
Последнее редактирование:

sanyo

Client
Регистрация
29.06.2014
Сообщения
112
Благодарностей
47
Баллы
28
Не работало изза точки впереди .//
Убрал точку, стал работать и мой вариант и ваши.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)