Мне весело с Python и Selenium, и у меня есть один вопрос.Как обработать сообщение об ошибке, если при авторизации я указал неверные учетные данные.
Из кода видно, что в данный момент я просто ожидаю увидеть следующую страницу после входа в систему и вернуть ошибку авторизации, если она выиграла 't всплывающее через 8 секунд.Для меня это довольно глупо, и было бы неплохо обработать сообщение об ошибке входа в систему.
Часть моего кода:
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
import sys
import urllib.request
if urllib.request.Request('https://url.i.want/to/open'): #check if it is reachable and open in positive response
driver = webdriver.Firefox (executable_path='path/to/webdriver')
driver.get('https://open.url/with/browser')
driver.maximize_window()
driver.implicitly_wait(2)
#Login page information. Contains Account Name, Username and Password
AccountName = driver.find_element_by_id('account')
AccountName.send_keys('accountname')
Login = driver.find_element_by_id('login')
Login.send_keys('login')
Password = driver.find_element_by_id('pw')
Password.send_keys('password')
driver.find_element_by_css_selector('#login_btn').click()
time.sleep(8) #Time to login (Not very elegant but ok for prototype)
try:
#close pop-up infomation window
driver.find_element_by_css_selector('some_popup_window').click()
except:
print('Please check login credentials')
sys.exit()