Нужно кликнуть на сложный элемент

oizby

Client
Регистрация
19.02.2018
Сообщения
39
Благодарностей
35
Баллы
18
Есть страница, где существует NN количество элементов.
Каждый элемент имеет вид: div -> ul -> li -> div -> a
Атрибуты тегов li, div, a - абсолютно идентичны у каждого из элементов.
Тег ul имеет отличия, и по нему можно сфокусироваться, но он общий для группы элементов, на него нельзя кликнуть. Порядковый номер элементов меняется, поэтому на него тоже нельзя полагаться.

Задача: кликнуть на 5 элементов (тег <a>), которые находятся в середине страницы.
Зацепиться за атрибуты тегов li, div, a нельзя по причине их отсутствия или общности. Из атрибутов тега <a> имеется только href. Но он не подходит, т.к. он регулярно меняется.
(width, height - одинаковы у всех NN элементов, LeftInTab и TopInTab в расчет не брал)
Технически можно кликнуть на теги <li> и <div> (которые внутри <ul>). Но у них присутствует в атрибутах лишь общий класс, которые есть еще у NN количества элементов.

Что пробовал:
1. Достал и положил в переменную значение атрибута innethtml тега ul, по которому можно сфокусироваться с помощью отличительного атрибута class. Т.е. уже обрезал необходимые мне элементы. Но как кликнуть по тегам <a> в нем - не знаю, т.к. не нашел такой функции, а поиск элемента, похоже, не позволяет искать по переменной.
2. Пробовал ввести вложенные теги в поиске элементов, указав их через пробел, похоже, такого функционала тоже нет.
3. Помогло бы решение через регулярное выражение по всей странице. Но вот как кликнуть в этом случае не знаю. Ведь в "поиске элемента" в поле "значение" вводится значение атрибута выбранного тега, а не регулярного выражения для всей страницы.

Есть какое-либо решение?
 
Последнее редактирование:

orka13

Client
Регистрация
07.05.2015
Сообщения
2 166
Благодарностей
2 167
Баллы
113
  • Спасибо
Реакции: oizby

Solus

Client
Регистрация
14.04.2014
Сообщения
377
Благодарностей
119
Баллы
43
Еще бы на сами элементы посмотреть, где такое и куда нужно кликать?
 

oizby

Client
Регистрация
19.02.2018
Сообщения
39
Благодарностей
35
Баллы
18
Для сложных кликов оптимальнее изучить xPath:
xpath click site:zennolab.com
Спасибо. Помогло. Статья на тему xPath.
Как кликнуть на вытянутый элемент через С# так и не понял. Но решил проблему вытягиванием содержимого атрибута href через регулярное выражение, помещением их в список и дальнейшим переходом по ним. Без xPath, с использованием только регулярного выражения, задачу бы не решил, т.к. в некоторых целевых элементах вид отличался и был таков: div -> ul -> li -> a, что требовало бы пробел неизвестного текста в регулярном выражении.
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 166
Благодарностей
2 167
Баллы
113
  • Спасибо
Реакции: oizby

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