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

    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


    Осталось дописать алгоритм для прохождения по всем нужным ссылкам/постам
    Ответ написан
    2 комментария
  • Как нажать правой кнопкой мыши с selenium?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Никак. Все данные в мессенджер приходят через вебсокет, на странице ничего не хранится, с буфером обмена Selenium не работает.
    Ответ написан
    Комментировать