сложности с пониманием путей xPath

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 085
Благодарностей
29
Баллы
48
Всем привет изучаю курсы по xPath возникли вопросы, надеюсь вы поможете на них ответить

ВКонтакте хочу выделить посты у которых кол-во репостов больше 15. Для наглядности все свои шаги буду элюстрировать картинками в которых определенным цветом буду выделять общие элементы в дереве элементов, в свойствах действий и на самом сайте


Хочу выделить элементы, которые отвечают за Поделиться, на картинке выделил красным цветом

//span[@class=‘blind_label’] - НЕРАБОТАЕТ ПОЧЕМУ????


Но можно прописать так

//div[contains(@class, 'like_button ')]

Тогда выделются: лайки, комментарии и репост(поделиться). Теперь оставлю те элементы у которых потомок имеет текст “Поделиться” т.е спускаюсь на один уровень вниз

//div[contains(@class, 'like_button ')]/ span[contains(text(), 'Поделиться')] НЕРАБОТАЕТ

Поменяю путь

//div[contains(@class, 'like_button ')]/ span[@class=’blind_label’] НЕ РАБОАТЕ ПОЧЕМУ????

Изменю поиск родительского элемента

//a[contains(@class, 'like_btn')] РАБОТАЕТ

//a[contains(@class, 'like_btn')] / span[contains(text(), 'Поделиться')] РАБОТАЕТ но коряво, потому что появляется только текс ПОДЕЛИТЬСЯ, а мне нужно выделить нужный элемент

//a[contains(@class, 'like_btn')] / span[@class=’blind_label’] НЕРАБОТАЕТ



Вопрос 1 Как прописать путь что бы выделялись элементы Поделиться. На будущее, как записать конструкцию, что бы обратиться к значению InnerHtml.
 

Вложения

p-sergei

Client
Регистрация
20.12.2016
Сообщения
542
Благодарностей
262
Баллы
63
Безымянный.png
тьфу ты, не то в итоге скинул, но принцип я думаю понятен :D
все же не поленился, вот вам кнопка, может можно и как-то быстрей ее дернуть хз, надо сидеть более подробно смотреть
Безымянный.png
 
Последнее редактирование:

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 085
Благодарностей
29
Баллы
48
тьфу ты, не то в итоге скинул, но принцип я думаю понятен :D
все же не поленился, вот вам кнопка, может можно и как-то быстрей ее дернуть хз, надо сидеть более подробно смотреть
А сам путь можно написать, а то на картинке трудно разобрать
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
542
Благодарностей
262
Баллы
63
Код:
//div[@class='like_button_count' and text()>500]/parent::a[@class='like_btn share _share']/div[@class='like_button_icon']
 

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 085
Благодарностей
29
Баллы
48
спасибо
 

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 085
Благодарностей
29
Баллы
48
//div[@class='like_button_count' and text()>500]/parent::a[@class='like_btn share _share']/div[@class='like_button_icon']
Твой путь не рабочий проверил, но я в этом разобрался
Вот рабочий путь к счётчику с внедрённым условием "количество репостов": Рабочий
//div[contains(@class, 'like_button_count') and number(text())>100]
//div[(@class='like_button_count') and number(text())>100]

Теперь хочу найти кнопки которые отвечают за ПОДЕЛИТЬСЯ и они находятся уровнем ниже, помоги разобраться

Свойства элемента следующие

class = blind_label

fulTag = span

innerHtml = Поделиться


//div[@span='blind_label'] НЕ РАБОТАЕТ


//div[@class='like_button_count']/span[(@class='blind_label') and contains(text(),'Поделиться')] НЕ РАБОТАЕТ


//div[@class='like_button_count']/span[(contains(text(),'Поделиться')] НЕ РАБОТАЕТ


//div[@class='like_button_count']/span[(contains(@class,'blind_label')] НЕ РАБОТАЕТ


У меня вопрос почему эти пути не работают, видь они существуют и какой путь рабочий
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
542
Благодарностей
262
Баллы
63

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 085
Благодарностей
29
Баллы
48
что вам нужно найти я уже честно говоря не понимаю
Я хочу найти путь до кнопки поделиться(репост)

мой путь до кнопки поделиться "рабочий" и это прекрасно видно на скрине
я уже запутался, у вас работает у меня нет, интересно почему

upload_2018-7-1_20-43-58.png
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
542
Благодарностей
262
Баллы
63
я уже запутался, у вас работает у меня нет, интересно почему
может там нет постов с количеством поделившихся более 500,
вот это меняйте, не 500 а сколько вам надо.
and text()>500
проверил в группе вашей, все работает.
Безымянный.png
 

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 085
Благодарностей
29
Баллы
48

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