Не могу обработать кнопку, xpath мутный?

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
Добрый вечер друзья!
На яндекс картинках https://yandex.ru/images/ пытаюсь обработать клик по кнопке. Зеннопостер говорит ОК, но ничего не обрабатывается.

Вот код:

Код:
Tab tab = instance.MainTab;
HtmlElement ab = tab.MainDocument.FindElementByXPath("html/body/div[1]/div/div[1]/div[3]/div[1]/button", 0);
ab.Click();
xpath составлял с помощью браузера Мозила и дополнения FirePath.
Возможно, что-то неправильно с xpath.

Помогите, друзья.
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
Кнопка на сайте называется "Поиск по картинке".
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
556
Баллы
93
Добрый вечер друзья!
На яндекс картинках https://yandex.ru/images/ пытаюсь обработать клик по кнопке. Зеннопостер говорит ОК, но ничего не обрабатывается.

Вот код:

Код:
Tab tab = instance.MainTab;
HtmlElement ab = tab.MainDocument.FindElementByXPath("html/body/div[1]/div/div[1]/div[3]/div[1]/button", 0);
ab.Click();
xpath составлял с помощью браузера Мозила и дополнения FirePath.
Возможно, что-то неправильно с xpath.

Помогите, друзья.

Код:
Tab tab = instance.MainTab;
HtmlElement ab = tab.MainDocument.FindElementByXPath("//body/div[1]/div/div[1]/div[3]/div[1]/button", 0);
ab.Click();
 
  • Спасибо
Реакции: Vladimirvolga

LaGir

Client
Регистрация
01.10.2015
Сообщения
227
Благодарностей
927
Баллы
93
xpath составлял с помощью браузера Мозила и дополнения FirePath.
Добавлю, что подобные пути XPath падают от малейшего чиха в верстке страницы. Если и пользоваться автоматическими инструментами составления путей, то лучше присмотритесь к XPath Helper Wizard для хрома.
Достаточно зажать Shift и навести мышью на элемент - плагин покажет короткий путь к целевому элементу, не зависящий от кучи сторонних div'ов и их порядка.
2017-08-16_19-34-34.png
 

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
Добавлю, что подобные пути XPath падают от малейшего чиха в верстке страницы. Если и пользоваться автоматическими инструментами составления путей, то лучше присмотритесь к XPath Helper Wizard для хрома.
Достаточно зажать Shift и навести мышью на элемент - плагин покажет короткий путь к целевому элементу, не зависящий от кучи сторонних div'ов и их порядка.
Посмотреть вложение 22843
Благодарю вас! Обязательно посмотрю.
Какими должны быть пути, чтобы они были более устойчивы к изменениям?
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
556
Баллы
93
  • Спасибо
Реакции: Vladimirvolga

LaGir

Client
Регистрация
01.10.2015
Сообщения
227
Благодарностей
927
Баллы
93
Какими должны быть пути, чтобы они были более устойчивы к изменениям?
Они должны цепляться за те элементы и их атрибуты, вероятность изменений которых на сайте максимально мала. Чаще всего это какие-либо осмысленные тексты атрибутов (например, класс 'button_find'), либо явные тексты, видные на на самой странице (тот же текст 'Поиск по картинке' вполне можно назвать таким). А вообще, в последнем конкурсе была статья по XPath, на основе неё можно научиться основам.
 
  • Спасибо
Реакции: Vladimirvolga

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
Они должны цепляться за те элементы и их атрибуты, вероятность изменений которых на сайте максимально мала. Чаще всего это какие-либо осмысленные тексты атрибутов (например, класс 'button_find'), либо явные тексты, видные на на самой странице (тот же текст 'Поиск по картинке' вполне можно назвать таким). А вообще, в последнем конкурсе была статья по XPath, на основе неё можно научиться основам.
Спасибо, статью уже изучаю.
:-)
 

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