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-адреса страницы после авторизации или поиск других уникальных элементов, характерных только для авторизованных пользователей.
if "dashboard" in driver.current_url: print("Авторизация успешна") else: print("Ошибка авторизации")
Этот код проверяет, содержит ли текущий URL-адрес страницы слово "dashboard", что может быть признаком успешной авторизации.