@dance_and_programmiruy

Как нажать правой кнопкой мыши с selenium?

Всем добрый день. Пишу скрипт на Python, который парсит этот канал: https://yandex.ru/chat/#/chats/1%2F0%2Fccb05ef5-14...

Подскажите, как можно спарсить ссылку на публикацию? Именно на публикацию. Если нажать правой кнопкой мыши на публикацию и нажать на "поделиться ссылкой", то в буфере обмена сохранится ссылка. Подскажите, как можно настроить парсер так, чтобы он нажимал ПКМ на каждую публикацию, нажимал на "поделиться ссылкой" и эту сохраненную ссылку в буфере обмена он сохранял в список?

5ed954ccc6c4b287890448.png
  • Вопрос задан
  • 1725 просмотров
Решения вопроса 1
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
Никак. Все данные в мессенджер приходят через вебсокет, на странице ничего не хранится, с буфером обмена Selenium не работает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ScriptKiddo
@ScriptKiddo
Если без клика ПКМ не обойтись

import clipboard

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

driver = webdriver.Chrome()
# Загружаем страницу

driver.get("https://yandex.ru/chat/#/chats/1%2F0%2Fccb05ef5-1472-4e50-a926-602807a6ef94")
balloons_xpath = "//div[contains(@class, 'yamb-message-balloon')]"
WebDriverWait(driver, 10).until(ec.presence_of_all_elements_located((By.XPATH, balloons_xpath)))


# Выбираем посты в канале
balloons = driver.find_elements_by_xpath(balloons_xpath)

# Кликаем на пост #4
actionChains = ActionChains(driver)
actionChains.context_click(balloons[4]).perform()
get_link_text = 'Get message link'
driver.find_element_by_xpath(f"//span[text()='{get_link_text}']/..").click()

# Получаем буфер обмена
text = clipboard.paste()  # text will have the content of clipboard


print(text)
driver.quit()


OUT

https://yandex.ru/chat/#/join/33a66c77-0c4d-45be-80f6-cae89e95d765/1591340550272042

Process finished with exit code 0


Осталось дописать алгоритм для прохождения по всем нужным ссылкам/постам
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект