March 27

Selenium: Проверка наличия, определенного элемента на странице

Чтобы узнать, что вход в панель управления выполнен успешно, обычно используется проверка наличия определенного элемента на странице, который является уникальным для страниц после успешной авторизации. В вашем коде вы уже используете такой подход, проверяя наличие элемента с текстом "Dashboard" на странице:

try:
    dashboard_element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//h1[contains(text(), 'Dashboard')]")))
    print("Авторизация успешна")
except:
    print("Ошибка авторизации")

Этот код работает следующим образом:

  • После клика по кнопке входа, скрипт ожидает до 10 секунд появления элемента <h1> с текстом "Dashboard" на странице. Это означает, что пользователь успешно авторизовался и перешел на главную страницу панели управления.
  • Если такой элемент найден, скрипт выводит сообщение "Авторизация успешна".
  • Если элемент не найден в течение 10 секунд (например, из-за неправильного логина или пароля), то выполняется блок except, и скрипт выводит сообщение "Ошибка авторизации".

Для улучшения этого подхода и увеличения надежности проверки, вы можете использовать дополнительные критерии, например, проверку URL-адреса страницы после авторизации или поиск других уникальных элементов, характерных только для авторизованных пользователей.

Например, проверка URL:

if "dashboard" in driver.current_url:
    print("Авторизация успешна")
else:
    print("Ошибка авторизации")

Этот код проверяет, содержит ли текущий URL-адрес страницы слово "dashboard", что может быть признаком успешной авторизации.