xPath. Как взять последний элемент?

timoxa949

Client
Регистрация
16.11.2018
Сообщения
158
Благодарностей
27
Баллы
28
Привет всем, прошу совета как правильно составить запрос xPath чтобы получить последний элемент, сломал голову, спасибо.
На примере, мне нужно взять только название бренда:


Составил запрос, но он берет категорию и брэнд:

//div[@data-zone-name="breadcrumb"]/a[last()]

61420

Заранее спасибо за помощь!
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113
Привет всем, прошу совета как правильно составить запрос xPath чтобы получить последний элемент, сломал голову, спасибо.
На примере, мне нужно взять только название бренда:


Составил запрос, но он берет категорию и брэнд:

//div[@data-zone-name="breadcrumb"]/descendant::a/descendant::span[@itemprop="name"][last()]


Заранее спасибо за помощь!
Тут подробно расписано именно то что нужно
 

timoxa949

Client
Регистрация
16.11.2018
Сообщения
158
Благодарностей
27
Баллы
28

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 721
Баллы
113
команды с номерами работают относительно родителя к дочкам. вот пример.

61421


то есть в существующем пути надо получить родителя этих элементов и уже от родителя применить last()

вот пример на скорую руку. //div[@data-zone-name="breadcrumb"]/ancestor::ul/li[last()]//a
допилить напильником до нужного варианта.
 
  • Спасибо
Реакции: ruthless и timoxa949

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113

timoxa949

Client
Регистрация
16.11.2018
Сообщения
158
Благодарностей
27
Баллы
28

timoxa949

Client
Регистрация
16.11.2018
Сообщения
158
Благодарностей
27
Баллы
28
команды с номерами работают относительно родителя к дочкам. вот пример.

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

то есть в существующем пути надо получить родителя этих элементов и уже от родителя применить last()

вот пример на скорую руку. //div[@data-zone-name="breadcrumb"]/ancestor::ul/li[last()]//a
допилить напильником до нужного варианта.
Работает, спасибо!
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
746
Баллы
113
Спарсить еще проще, перед фирмой есть слово все товары.
1597066498757.png1597066571972.png

(?<=Все\ товары).*?(?=</span>) там вариантом может быть очень много
 
  • Спасибо
Реакции: timoxa949

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
191
Баллы
43
команды с номерами работают относительно родителя к дочкам. вот пример.

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

то есть в существующем пути надо получить родителя этих элементов и уже от родителя применить last()

вот пример на скорую руку. //div[@data-zone-name="breadcrumb"]/ancestor::ul/li[last()]//a
допилить напильником до нужного варианта.
А есть ли вариант найти второй или третий элемент с конца ?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 246
Благодарностей
1 820
Баллы
113
  • Спасибо
Реакции: backoff, orka13 и Deisler

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 564
Благодарностей
1 367
Баллы
113
  • Спасибо
Реакции: Deisler

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
191
Баллы
43

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 101
Благодарностей
132
Баллы
63
А если брать, допустим, второй с конца и вдруг в какой-то момент будет всего 1 элемент - то что будет?
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 564
Благодарностей
1 367
Баллы
113
А если брать, допустим, второй с конца и вдруг в какой-то момент будет всего 1 элемент - то что будет?
Будет выход по ошибке, так как такого элемента нету.
 

seregakot

Client
Регистрация
19.03.2016
Сообщения
126
Благодарностей
63
Баллы
28

timoxa949

Client
Регистрация
16.11.2018
Сообщения
158
Благодарностей
27
Баллы
28
Последнее редактирование:
  • Спасибо
Реакции: Phoenix78 и seregakot

seregakot

Client
Регистрация
19.03.2016
Сообщения
126
Благодарностей
63
Баллы
28

timoxa949

Client
Регистрация
16.11.2018
Сообщения
158
Благодарностей
27
Баллы
28

seregakot

Client
Регистрация
19.03.2016
Сообщения
126
Благодарностей
63
Баллы
28
Понял теперь свою ошибку почему не получалось , спасибо за примеры
 

Nelirr

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

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