@D0ct0r_Murder

Ошибка: Message: The element with the reference is stale; either its node document is not the active document....?

Что делать с этой проблемой?

import os

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
import pickle

if __name__ == '__main__':
    driver = webdriver.Firefox()

    if not os.path.exists('cookies.pkl'):
        print('Для начала нужно будет пройти авторизацию')

        driver.maximize_window()
        driver.get('https://hh.ru')
        time.sleep(5)

        elements = driver.find_elements(By.CLASS_NAME, 'supernova-button')
        for i_element in elements:
            if i_element.text == 'Войти':
                i_element.click()
                time.sleep(10)

        driver.switch_to.window(driver.window_handles[0])

        login_element = driver.find_element(By.NAME, 'login')
        button_element = None
        login_element.send_keys('здесь мой номер телефона')

        time.sleep(6)
        elements = driver.find_elements(By.TAG_NAME, 'button')
        time.sleep(2)
        for i_element in elements:
            if i_element.text == 'Продолжить':
                i_element.click()

        cmd = ''

        while cmd != 'ready':
            print('Как будет готов код,введите его,затем введите ready')
            time.sleep(10)
            cmd = input()

        # driver.switch_to.window(driver.window_handles[0])
        print('Готово')
        time.sleep(5)
        pickle.dump(driver.get_cookies(), open('cookies.pkl', 'wb'))

    else:
        cookies = pickle.load(open('cookies.pkl', 'rb'))

        for cookie in cookies:
            driver.add_cookie(cookie)
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
Mike_Ro
@Mike_Ro
React, Django, WordPress, SEO, Bots, Adversting
Ошибка: Message: The element with the reference is stale; either its node document is not the active document....?

Ссылка на dom element устарела. Либо этого элемента ещё нет на момент его получения, либо он был динамически обновлён.
Дождитесь появления элемента, используя WebDriverWait.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
28 февр. 2024, в 19:21
300 руб./за проект
28 февр. 2024, в 19:10
2000 руб./за проект
28 февр. 2024, в 19:09
35000 руб./за проект