Не могу обработать кнопку, 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.

Помогите, друзья.
 
Кнопка на сайте называется "Поиск по картинке".
 
Добрый вечер друзья!
На яндекс картинках 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
xpath составлял с помощью браузера Мозила и дополнения FirePath.
Добавлю, что подобные пути XPath падают от малейшего чиха в верстке страницы. Если и пользоваться автоматическими инструментами составления путей, то лучше присмотритесь к XPath Helper Wizard для хрома.
Достаточно зажать Shift и навести мышью на элемент - плагин покажет короткий путь к целевому элементу, не зависящий от кучи сторонних div'ов и их порядка.
2017-08-16_19-34-34.png
 
Код:
Развернуть Свернуть Копировать
Tab tab = instance.MainTab;
HtmlElement ab = tab.MainDocument.FindElementByXPath("//body/div[1]/div/div[1]/div[3]/div[1]/button", 0);
ab.Click();

Вообще, я думал плагин в мозиле напишет так как надо xpath.
 
Добавлю, что подобные пути XPath падают от малейшего чиха в верстке страницы. Если и пользоваться автоматическими инструментами составления путей, то лучше присмотритесь к XPath Helper Wizard для хрома.
Достаточно зажать Shift и навести мышью на элемент - плагин покажет короткий путь к целевому элементу, не зависящий от кучи сторонних div'ов и их порядка.
Посмотреть вложение 22843

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

Спасибо, статью уже изучаю.
:)
 

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