• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Python и selenium. Ошибка с вводом в поле комментария

Rook

Codeby Team
Red Team
09.01.2019
727
711
BIT
4
Всем доброго времени суток. Пишу бота для Инстаграмма, который будет комментить выбранный пост, но в момент поста появляется ошибка

selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document (Session info: chrome=86.0.4240.198)
Происходит в момент когда код доходит до того что бы начать писать комментарий под постом в Инстаграмме.

Хотя до этого поля для пароля и логина заполняет отлично.

Вот собственно код
Python:
from time import sleep
from selenium import webdriver
from auth_data import username, password
from selenium.webdriver.common.keys import Keys
from target_coms import tar_com

print('Preparing! Let me know some things, enter it below this messege')
sleep(3)
tar_url = input('Enter Target url: ')
print('Thx, hope url doesnt wrong, we start soon')
sleep(3)


def auth():
    browser = webdriver.Chrome('Chrome/chromedriver.exe')
    browser.implicitly_wait(5)
    browser.get('https://instagram.com')

    username_input = browser.find_element_by_name('username')
    username_input.clear()
    username_input.send_keys(username)

    sleep(2)

    password_input = browser.find_element_by_name('password')
    password_input.clear()
    password_input.send_keys(password)

    sleep(2)

    login_link = browser.find_element_by_xpath("//button[@type='submit']")
    login_link.click()
    sleep(5)
    browser.get(tar_url)
    sleep(5)
    for i in range(1, 5):
        comments_put = browser.find_element_by_class_name('Ypffh')
        comments_put.click()
        comments_put.send_keys(tar_com + str(i))
        comments_put.send_keys(Keys.ENTER)
        sleep(2)
    sleep(10)
    browser.close()


auth()

Ошибка начинается там где начинается цикл.
Tar_com это файл из которого бот будет брать комменты. В данный момент там только строка 'test'
Auth_data это файл с авторизационными данными в котором содержатся две переменные username и password
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!