browsers — списки

addewyd@

Active member
Ещё одна непонятка.

Вот есть такой список:

1613472680398.png

Есть активность "Выбрать опцию из списка"

1613472786047.png

Надо выбрать "Казань", например.

Ничего в голову не приходит, в параметрах некуда передать строку.

xpath соответствующего элемента списка выглядит так:

/html/body/div[1]/main/div/div[1]/div/div/div[1]/div/div[2]/div/ul/li[15]

Если знать, что Казань 15-я, проблем нет.

Можно бесконечный цикл сделать и выходить по ексепшену "элемент не найден", но как-то криво, мне кажется.

посмотрел "мастер извлечения" чтобы извлечь хотя бы размер массива, но, похоже, это что-то не то.

упд: придётся, видимо, использовать вариант с циклом. Пр ексепшен поторопился, есть активность "проверить существование"

И почему я ненавижу современные УИ?
Идеальный УИ — командная строка
 
Последнее редактирование:

Who

New member
Ещё одна непонятка.

Вот есть такой список:

Посмотреть вложение 209

Есть активность "Выбрать опцию из списка"

Посмотреть вложение 210

Надо выбрать "Казань", например.

Ничего в голову не приходит, в параметрах некуда передать строку.

xpath соответствующего элемента списка выглядит так:

/html/body/div[1]/main/div/div[1]/div/div/div[1]/div/div[2]/div/ul/li[15]

Если знать, что Казань 15-я, проблем нет.

Можно бесконечный цикл сделать и выходить по ексепшену "элемент не найден", но как-то криво, мне кажется.

посмотрел "мастер извлечения" чтобы извлечь хотя бы размер массива, но, похоже, это что-то не то.

И почему я ненавижу современные УИ?
Идеальный УИ — командная строка
/html/body/div[1]/main/div/div[1]/div/div/div[1]/div/div[2]/div/ul/li[contains(.,'Казань')]
или li[contains(text(),"Казань')].
Если "Казань" - это имя атрибута, то можно делать так li[contains(@name, 'Казань')]

По своему опыту не советую использовать:
1) Полные пути, т.к. верстка поменяется и элементы станут вложены на другом уровне и т.п.
2) Индексы в путях, т.к. добавление нового элемента станет подменять нужный элемент списка, а это можно заметить не сразу. Критичность последствий могут быть самые разные. Лучше максимально привязываться к названиям атрибутов.
//div[contains(@class,'такой-то класс')]/div//ul/li

Вот, в качестве примера, формирование xPath для поиска контрагента в таблице по инн.example.png
 
Последнее редактирование:

addewyd@

Active member
Да, точно, contains(text(), упустил из виду.
Но опять же незадача...

в браузере находит

1613484609316.png


Пикс отказывается

1613484708068.png
А за советы по построению путей спасибо, учтём.

Пока только изучается принципиальная возможность работы с некоторыми сайтами. И уже хочется послать всё это подальше, уже в глазах рябит от нагромождения анимаций, рекламы и прочих всплывающих окон.

Поклялся не пользоваться услугами турагенства, если его сайт будет хотя бы чуть навороченнее чем одна простая текстовая таблица.
 

Who

New member
Да, точно, contains(text(), упустил из виду.
Но опять же незадача...

в браузере находит

Посмотреть вложение 212


Пикс отказывается

Посмотреть вложение 213
А за советы по построению путей спасибо, учтём.

Пока только изучается принципиальная возможность работы с некоторыми сайтами. И уже хочется послать всё это подальше, уже в глазах рябит от нагромождения анимаций, рекламы и прочих всплывающих окон.

Поклялся не пользоваться услугами турагенства, если его сайт будет хотя бы чуть навороченнее чем одна простая текстовая таблица.
У вас в поиске указано по "ID", а ищете по xPath.
 

addewyd@

Active member
Вот ведь, надо же было так промахнуться. Извините.
 
Верх