验证码的识别:
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 webdriver from 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