AttributeError: модуль selenium.webdriver.firefox не имеет атрибута find_element_by_name с использованием Selenium через Python
from selenium import webdriver
drivers = webdriver.firefox
elem = drivers.find_element_by_name("username")
Итак, это сценарий, который я написал, но каждый раз, когда я запускаю, он возвращает это сообщение об ошибке:
AttributeError: модуль selenium.webdriver.firefox не имеет атрибута find_element_by_name
1 ответ
Это сообщение об ошибке...
AttributeError: module 'selenium.webdriver.firefox' has no attribute 'find_element_by_name'
... подразумевает, что у selenium.webdriver.firefox нет атрибута какfind_element_by_name
.
Вам необходимо учесть следующие моменты:
Чтобы инициализировать сеанс Firefox, вам нужно изменить строку кода
drivers = webdriver.firefox
в правильный формат как:drivers = webdriver.Firefox()
find_element_by_name()
Метод может найти элемент только тогда, когда загружена HTML DOM. Итак, вам нужно вызватьget(url)
и загрузите дерево DOM перед вызовомfind_element_by_name()
следующее:drivers.get("http://digitalsaf.com/")
Ваш эффективный блок кода будет:
from selenium import webdriver driver = webdriver.Firefox() driver.get("http://digitalsaf.com/") elem = driver.find_element_by_name("username")