Задать вопрос
@s591962
Изучаю Питон

Поиск HTML элемента по имени класса?

Код:
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("inventwithpython.com")
elem = [];

try:
elem = browser.find_element(by=By.CLASS_NAME, value='navbar-toggler navbar-toggler-right')
print('Найден элемент <%> с данным именем класса!' % (elem.tag_name))
except:
print('не удалось найти элемент с данным именем класса.')

При запуске получаем "не удалось найти элемент с данным именем класса". Программа запускает браузер. При просмотре кода страницы сразу видим строку

button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">

Вопрос почему она его не видит. Здесь и ошибиться то негде.
  • Вопрос задан
  • 159 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@Aricus
При создании вопроса кнопка </> существует не просто так. Не стесняйтесь её использовать.
Если есть возможность, выведите то, что он видит в данный момент. Скорее всего, это выявит проблему.
Я не знаю, как работает этот код, так что могу только предполагать из общих оснований:
Вариант 1: Он видит не ту страницу, или не видит её вообще.
Вариант 2: Страница не успела загрузиться в том виде, в каком вы её видите. Например, этот элемент добавлен с помощью js.
Вариант 3: Вы просто неправильно что-то написали.
Ответ написан
Комментировать
@s591962 Автор вопроса
Изучаю Питон
Первая часть до try: работает тк он загружает страницу.
Имя для class я подбирал разные посмотрев код страницы. те не срабатывает
try:
elem = browser.find_element(by=By.CLASS_NAME, value='navbar-toggler navbar-toggler-right')
а срабатывает
except:
print('не удалось найти элемент с данным именем класса.')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы