#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
), и, похоже, эта проблема решена.