Kто может подсказать по xPath?

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
приветствую,
исследую элемент, получаю xPath (элемент всегда один и тот же исследуется) но в конце слово каждый раз рандомно меняется. Существуют 4 варианта "high, low, mid, NA".

Нужно последнее слово "high, low, mid или NA" положить в переменную.

Можно конечно получить значение "low" -> ошибка получи значение "mid" -> ошибка получи значение "NA" -> ошибка получи значение "high" -> успешно выполнено, положить в переменную.
Но на это тратится много времени. Парсить нужно много строк.

Kто может подсказать? Что и где нужно в xPath коде добавить/изменить?



Sceenshot:
105680


xPath Код:

//*[@id="__next"]/div[starts-with(@class,'sc-1e1d7ca7-1')]/div[@class='main-content']/div[starts-with(@class,'sc-1a736df3-0')]/div[starts-with(@class,'grid')]/div[starts-with(@class,'sc-aef7b723-0')]/div[1]/div[starts-with(@class,'sc-b025d6cb-5')]/div[starts-with(@class,'sc-beb003d5-2')]/table[starts-with(@class,'sc-beb003d5-3')]/tbody/tr[{-Variable.ssn-}]/td[9]/div[starts-with(@class,'sc-69e1f1-0')]/div[starts-with(@class,'high')]
 
  • Спасибо
Реакции: Sho

Sho

Активный пользователь
Регистрация
08.08.2022
Сообщения
100
Благодарностей
51
Баллы
28
приветствую,
исследую элемент, получаю xPath (элемент всегда один и тот же исследуется) но в конце слово каждый раз рандомно меняется. Существуют 4 варианта "high, low, mid, NA".

Нужно последнее слово "high, low, mid или NA" положить в переменную.

Можно конечно получить значение "low" -> ошибка получи значение "mid" -> ошибка получи значение "NA" -> ошибка получи значение "high" -> успешно выполнено, положить в переменную.
Но на это тратится много времени. Парсить нужно много строк.

Kто может подсказать? Что и где нужно в xPath коде добавить/изменить?



Sceenshot:
Посмотреть вложение 105680

xPath Код:

//*[@id="__next"]/div[starts-with(@class,'sc-1e1d7ca7-1')]/div[@class='main-content']/div[starts-with(@class,'sc-1a736df3-0')]/div[starts-with(@class,'grid')]/div[starts-with(@class,'sc-aef7b723-0')]/div[1]/div[starts-with(@class,'sc-b025d6cb-5')]/div[starts-with(@class,'sc-beb003d5-2')]/table[starts-with(@class,'sc-beb003d5-3')]/tbody/tr[{-Variable.ssn-}]/td[9]/div[starts-with(@class,'sc-69e1f1-0')]/div[starts-with(@class,'high')]
Привет.
Вероятно ты хочешь оператор или - 'or' .

Вот пример с твоим путем:
Код:
//*[@id="__next"]/div[starts-with(@class,'sc-1e1d7ca7-1')]/div[@class='main-content']/div[starts-with(@class,'sc-1a736df3-0')]/div[starts-with(@class,'grid')]/div[starts-with(@class,'sc-aef7b723-0')]/div[1]/div[starts-with(@class,'sc-b025d6cb-5')]/div[starts-with(@class,'sc-beb003d5-2')]/table[starts-with(@class,'sc-beb003d5-3')]/tbody/tr[{-Variable.ssn-}]/td[9]/div[starts-with(@class,'sc-69e1f1-0')]/div[starts-with(@class,'high') or starts-with(@class,'low') or starts-with(@class,'mid')]
Продолжи по аналогии.

Но, твой путь очень не надежный. Точнее сверх точный. Полистал форум и статьи, чтобы сократить его. Можно например привязаться начиная с tbody или ещё я думаю, можно меньше. Но явно не такой.)
 
Последнее редактирование:
  • Спасибо
Реакции: Lextor

radv

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

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
Привет.
Вероятно ты хочешь оператор или - 'or' .

Вот пример с твоим путем:
Код:
//*[@id="__next"]/div[starts-with(@class,'sc-1e1d7ca7-1')]/div[@class='main-content']/div[starts-with(@class,'sc-1a736df3-0')]/div[starts-with(@class,'grid')]/div[starts-with(@class,'sc-aef7b723-0')]/div[1]/div[starts-with(@class,'sc-b025d6cb-5')]/div[starts-with(@class,'sc-beb003d5-2')]/table[starts-with(@class,'sc-beb003d5-3')]/tbody/tr[{-Variable.ssn-}]/td[9]/div[starts-with(@class,'sc-69e1f1-0')]/div[starts-with(@class,'high') or starts-with(@class,'low') or starts-with(@class,'mid')]
Продолжи по аналогии.

Но, твой путь очень не надежный. Точнее сверх точный. Полистал форум и статьи, чтобы сократить его. Можно например привязаться начиная с tbody или ещё я думаю, можно меньше. Но явно не такой.)
Благодарю тебя работает. Чтобы привязываться я не эксперт нужно разбираться. Hа данный момент пойдет так, это решение для меня а не на заказ поэтому пойдет то что есть) спасибо тебе еще раз за помощь - выручил, и за уведомление что надежней будет по другому)
 
  • Спасибо
Реакции: Sho

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18

Sho

Активный пользователь
Регистрация
08.08.2022
Сообщения
100
Благодарностей
51
Баллы
28
Благодарю тебя работает. Чтобы привязываться я не эксперт нужно разбираться. Hа данный момент пойдет так, это решение для меня а не на заказ поэтому пойдет то что есть) спасибо тебе еще раз за помощь - выручил, и за уведомление что надежней будет по другому)
Рад, что помог.)

Доброе утро,
а чем Chropath лучше чем встроенный поиск xPath в ProjectMaker?
Да он везде ссылку пихает со своей разработкой... Видимо на автомате даже.

Достаточно зайти в расширения для браузера и поискать инструменты для поиска XPath. В одном он прав, они все удобнее того, что есть в PM.
 
  • Спасибо
Реакции: djaga

radv

Client
Регистрация
11.05.2015
Сообщения
3 678
Благодарностей
1 862
Баллы
113
Доброе утро,
а чем Chropath лучше чем встроенный поиск xPath в ProjectMaker?
Попробуйте и сравните.
Да он везде ссылку пихает со своей разработкой...
Chropath это не моя разработка, просто мне он показался более удобным, чем остальные вот и все.
Ну и знание теории по xpath никогда лишним не будет. :az:
 

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