xpath путь

Gizmond

Client
Регистрация
18.02.2017
Сообщения
270
Благодарностей
53
Баллы
28
Всем привет.

Есть два пути и они находятся в одной структуре :

1 - //div/div/div/h5[contains(.,'345723')]

2 - //div/div/div[contains(@class,'cancel')]/button/span

91454


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

Это можно как то в один путь запихнуть?
 

Nelirr

Пользователь
Регистрация
23.03.2021
Сообщения
87
Благодарностей
7
Баллы
8
Тоже сейчас пробую подобное решение найти.
Скорее всего это так выглядит: надо либо какой-то xpath искать, где можно по дереву пройти до второго элемента или если так нельзя сделать, то делать двойную проверку: на появление текста и на появление второго элемента.
 

daVinchi

Client
Регистрация
11.01.2019
Сообщения
60
Благодарностей
68
Баллы
18
В этом случае можно искать второй путь через первый. Если путь xPath успешно найден, то делаем клик. Если путь не найден, то, например, выходим по красной.

Попробуй клик по:
//h5[contains(.,'345723')]/following-sibling::div/div/div[contains(@class,'cancel')]/button/span

following-sibling:: — возвращает множество элементов на том же уровне, следующих за текущим.
 
  • Спасибо
Реакции: Gizmond

Nelirr

Пользователь
Регистрация
23.03.2021
Сообщения
87
Благодарностей
7
Баллы
8
Всем привет.

Есть два пути и они находятся в одной структуре :

1 - //div/div/div/h5[contains(.,'345723')]

2 - //div/div/div[contains(@class,'cancel')]/button/span

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

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

Это можно как то в один путь запихнуть?
страницу в студию) где нужно делать клик. Лучше ссылку на нее
 
Последнее редактирование:

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18
по моему на сколько я помню в xpath есть поиск элемента выше искомого и ниже искомого или родительский элемент... а ещё советую не писать полные пути xpath, а писать относительные // работает в любом месте )типа
//div[@class="start]//div[@class="one more" ] и ТД и тп
если что писал xpath как в питоне , не знаю как в зенке правильно
 
  • Спасибо
Реакции: djaga

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 299
Благодарностей
701
Баллы
113
На страницу бы глянуть, а там уже и замутить чего можно
 

Gizmond

Client
Регистрация
18.02.2017
Сообщения
270
Благодарностей
53
Баллы
28
В этом случае можно искать второй путь через первый. Если путь xPath успешно найден, то делаем клик. Если путь не найден, то, например, выходим по красной.

Попробуй клик по:
//h5[contains(.,'345723')]/following-sibling::div/div/div[contains(@class,'cancel')]/button/span

following-sibling:: — возвращает множество элементов на том же уровне, следующих за текущим.
джектпот) спасибо )
 

Gizmond

Client
Регистрация
18.02.2017
Сообщения
270
Благодарностей
53
Баллы
28
по моему на сколько я помню в xpath есть поиск элемента выше искомого и ниже искомого или родительский элемент... а ещё советую не писать полные пути xpath, а писать относительные // работает в любом месте )типа
//div[@class="start]//div[@class="one more" ] и ТД и тп
если что писал xpath как в питоне , не знаю как в зенке правильно
Не, так не работает -) я уже по разному пробовал , выше путь от давинчи четко сработал)
 

Gizmond

Client
Регистрация
18.02.2017
Сообщения
270
Благодарностей
53
Баллы
28
В этом случае можно искать второй путь через первый. Если путь xPath успешно найден, то делаем клик. Если путь не найден, то, например, выходим по красной.

Попробуй клик по:
//h5[contains(.,'345723')]/following-sibling::div/div/div[contains(@class,'cancel')]/button/span

following-sibling:: — возвращает множество элементов на том же уровне, следующих за текущим.
поторопился) не работает
 

Gizmond

Client
Регистрация
18.02.2017
Сообщения
270
Благодарностей
53
Баллы
28
Часть кода ниже

HTML:
<div class="items col" style="cursor: pointer;"><div class="items-info"><div class="flex items-title"><h5>421352</h5></div></div><div class="items-map"><div class="items-map-cancel"><button type="button" class="ant-btn btn btn-primary"><span>cancel</span></button></div></div></div>
 

Gizmond

Client
Регистрация
18.02.2017
Сообщения
270
Благодарностей
53
Баллы
28
(//div[contains(@class,'cancel') and //h5[contains(.,'421352')]])//button/span

сам разобрался )
 
  • Спасибо
Реакции: djaga

radv

Client
Регистрация
11.05.2015
Сообщения
3 820
Благодарностей
2 030
Баллы
113

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18
не используйте всякие расширения, не нужно искать полный xpath путь ибо если сайт хоть немного изменится то ваш шаблон накроется тазом, достаточно 5-10 минут чтоб изучить xpath, держать шпаргалку открытой,
открываем Гугл хром браузер и сайт, там
пкм>показать код страницы> тыкаем мышкой в область кода страницы> ctrl+f и подбираем xpath вбивая его в поле снизу.

Не будьте хлебушками
 
  • Спасибо
Реакции: djaga и trecho

radv

Client
Регистрация
11.05.2015
Сообщения
3 820
Благодарностей
2 030
Баллы
113
расширения помогают проверить готовый xpath и теорию составления xpath конечно лучше знать.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 721
Баллы
113
расширения помогают проверить готовый xpath и тероию составления чзферконечно лучше знать.
ни разу не пользовался никакими расширения. что они могут дать такого, что не может обычный DevTools который есть в каждом браузере и в зенке тоже ? :bk:
 
  • Спасибо
Реакции: trecho и kokoko

radv

Client
Регистрация
11.05.2015
Сообщения
3 820
Благодарностей
2 030
Баллы
113
ни разу не пользовался никакими расширения. что они могут дать такого, что не может обычный DevTools который есть в каждом браузере и в зенке тоже ? :bk:
Ну это ты уже опытный ) я просто для удобства проверки раньше их использовал. а devtools тоже не все умеют пользоваться, да и в зенке он относительно недавно появился.
 

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18
расширения помогают проверить готовый xpath и теорию составления xpath конечно лучше знать.
звучит как бред ) проверить готовый xpath можно в обычном браузере без установки каких либо плагинов и расширений
 
  • Спасибо
Реакции: trecho

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 721
Баллы
113
звучит как бред ) проверить готовый xpath можно в обычном браузере без установки каких либо плагинов и расширений
не обращай внимания, надо же как то светить свои подписи, а это очень хороший способ, как бы совет для новичков :bk:
 
  • Спасибо
Реакции: djaga

radv

Client
Регистрация
11.05.2015
Сообщения
3 820
Благодарностей
2 030
Баллы
113
звучит как бред ) проверить готовый xpath можно в обычном браузере без установки каких либо плагинов и расширений
ну у каждого свои способы и знания ну и привычки. Можно и без зенки все автоматизировать в системном браузере.
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 820
Благодарностей
2 030
Баллы
113
Последнее редактирование:

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