【每日一题】有关基础教程(第十五期)

优采云 发布时间: 2021-08-16 02:23

  【每日一题】有关基础教程(第十五期)

  这篇文章给大家详细讲解Python完全识别验证码并自动登录的样例分析,小编觉得很实用,所以分享给大家作为参考。希望大家看完这篇文章后可以有所收获。

  1、直接贴代码

<p>#!C:/Python27

#coding=utf-8

 

 

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from pytesser import *

from PIL import Image,ImageEnhance,ImageFilter

from selenium.common.exceptions import NoSuchElementException,TimeoutException

import os,time

 

 

 

 

def before():

 

 

  driver.get(src)

 

 

  time.sleep(1)

 

 

  driver.maximize_window() # 浏览器全屏显示

 

 

  print (&#39;\n浏览器全屏显示 ...&#39;)

 

 

 

 

 

 

def Convertimg():

  

  imglocation = ("//*[@id=&#39;loginForm&#39;]/div[4]/div[2]/img[1]")

  

  #下载验证码图片保存到本地

  driver.save_screenshot(&#39;E:\\pythonScript\\Codeimages\\code.png&#39;)

  

  #打开本地图片

  im = Image.open(&#39;E:\\pythonScript\\Codeimages\\code.png&#39;)

 

 

  left = driver.find_element_by_xpath(imglocation).location[&#39;x&#39;]

  top = driver.find_element_by_xpath(imglocation).location[&#39;y&#39;]

  right = driver.find_element_by_xpath(imglocation).location[&#39;x&#39;] + driver.find_element_by_xpath(imglocation).size[&#39;width&#39;]

  bottom = driver.find_element_by_xpath(imglocation).location[&#39;y&#39;] + driver.find_element_by_xpath(imglocation).size[&#39;height&#39;]

 

 

  im = im.crop((left, top, right, bottom))

 

 

  im.save(&#39;E:\\pythonScript\\Codeimages\\screenshot.png&#39;)

 

 

  print u"\n保存验证码图片完成"

 

 

  #移除截屏的图片

 

 

  os.remove(&#39;E:\\pythonScript\\Codeimages\\code.png&#39;)

 

 

  print u"\n删除截屏图片完成"

 

 

  #处理验证码图片

  src = (&#39;E:\\pythonScript\\Codeimages\\screenshot.png&#39;)

 

 

  #调用裁剪图片方法

  Cutedge(src)

 

 

  #移除截屏的图片

  os.remove(&#39;E:\\pythonScript\\Codeimages\\screenshot.png&#39;)

  #灰化图片处理

  im = Image.open(&#39;E:\\pythonScript\\Codeimages\\CutedgeImage.png&#39;)

  

  imgry = im.convert(&#39;L&#39;)

  #二值化处理

 

 

  threshold = 100

  table = []

  for i in range(256):

    if i 

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线