Сообщение об ошибке «selenium python не имеет атрибута gettext» предполагает, что вы пытаетесь использовать метод gettextв Selenium с Python, но он недоступен. Метод gettextиспользуется для получения текста элемента на веб-странице.
Причин возникновения этой ошибки может быть несколько:
-
Неправильное использование: возможно, вы неправильно используете метод
gettext. Убедитесь, что вы вызываете его для допустимого объекта элемента. -
Устаревшая версия Selenium. Если вы используете устаревшую версию Selenium, возможно, метод
gettextнедоступен. Рассмотрите возможность обновления до последней версии Selenium.
Чтобы предоставить вам альтернативные методы получения текста с помощью Selenium и Python, вот несколько примеров:
-
Использование атрибута
text:from selenium import webdriver driver = webdriver.Chrome() driver.get("https://example.com") element = driver.find_element_by_xpath("//div[@class='example']") text = element.text print(text) -
Использование метода
get_attribute:from selenium import webdriver driver = webdriver.Chrome() driver.get("https://example.com") element = driver.find_element_by_xpath("//div[@class='example']") text = element.get_attribute("textContent") print(text) -
Использование выполнения JavaScript:
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://example.com") element = driver.find_element_by_xpath("//div[@class='example']") text = driver.execute_script("return arguments[0].textContent;", element) print(text)
Обратите внимание, что это всего лишь несколько примеров, и существует несколько других способов получения текста с использованием Selenium с Python. Обязательно адаптируйте код к своему конкретному варианту использования.