Python selenium — ошибка атрибута: объект ‘dict’ не имеет атрибута ‘get_attribute’

#python #selenium

Вопрос:

Я хотел продемонстрировать selenium и вместо того, чтобы запускать полный набор Java / C#, я хотел быстро использовать Python, так как это можно сделать с помощью одного сценария.

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

print("sample test case started")
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("MyUrl")
element = driver.find_element(By.ID, "Username")
element.send_keys("MyUsername")

driver.close()
print("sample test case successfully completed")
 

Я получаю это сообщение об ошибке:
AttributeError: 'dict' object has no attribute 'send_keys'

Я бы сказал, что метод find_element возвращает какой-то диктант (Диктонарий??) объект вместо веб-элемента selenium. Как я могу это исправить??

Комментарии:

1. Существует только 1 элемент с таким идентификатором. элемент[0] -> Затем я получаю ошибку: ошибка ключа: 0.

2. Та же ошибка. Итак, есть ли ошибка в селене?

3. В моем вопросе о происхождении вы можете увидеть исходный код. Теперь я заменил driver.find.element(By.ID, «Имя пользователя») с элементом = driver.find_element_by_id(«Имя пользователя»)

4. Похоже, это очень странное поведение селена. Пожалуйста, позвольте нам удалить все ненужные комментарии.

5. Моя ошибка, я снова набросился на диктатора. Не могли бы вы, пожалуйста, дать вывод (print(элемент))

Ответ №1:

Я столкнулся именно с этой проблемой. Похоже, это какая-то ошибка в Selenium 4.0. Я вернулся к 3.141.0 ( pip install selenium==3.141.0 ), и, похоже, эта проблема решена.