selenium驗證碼和錯誤截圖
阿新 • • 發佈:2018-11-07
驗證碼的識別:
1,破解驗證碼
OCR識別(一般使用tesseract-ocr)
人工智慧(AI機器學習 TensorFlow,成本大)
2,繞過驗證碼
1, 讓開發人員臨時關閉驗證碼
2,提供萬能驗證碼(需要保密,一般在開發測試環境使用)
3,使用cookies(登入注意是為了拿到cookies,獲取登入憑證)
# -*- coding:UTF-8 -*- __autor__ = 'zhouli' __date__ = '2018/11/6 20:49' from selenium import webdriver driver = webdriver.Chrome() driver.get('************0') driver.add_cookie({'name':'token', 'value':'*************'}) # 用add_cookie以字典的方式進行新增cookie,即可繞過登入
錯誤截圖:
# -*- coding:UTF-8 -*- __autor__ = 'zhouli' __date__ = '2018/11/6 21:04' from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get('www.baidu.com') # 查詢登入框 login_ele = driver.find_element_by_id("#login") # 觸發事件,故意寫錯 ActionChains(driver).click(login_ele).perform() # 捕捉不到元素異常 try: driver.find_element_by_id("xdclass").click()except: driver.get_screenshot_as_file('./error.png') # get_screenshot_as_file