代码语言:javascript复制
#coding=utf-8
from
PIL import Image
import pytesseract
from
selenium import webdriver
url=
'http://192.168.0.178:8080/WebGis/'
driver = webdriver.Chrome(
'chromedriver.exe'
)
driver.maximize_window()
#将浏览器最大化,以获取更清晰的校验码图片
driver.
get
(url)
driver.save_screenshot(
'f://gps.png'
)
#截取当前网页,该网页有我们需要的验证码
imgelement = driver.find_element_by_id(
'verifyCodeImg'
)
#通过id定位验证码
location = imgelement.location
#获取验证码的x,y轴
size = imgelement.size
#获取验证码的长宽
rangle=(
int
(location[
'x'
]),
int
(location[
'y'
]),
int
(location[
'x'
] size[
'width'
]),
int
(location[
'y'
] size[
'height'
]))
#写成我们需要截取的位置坐标
i=Image.open(
'f:gps.png'
)
#打开截图
verifycodeimage=i.crop(rangle)
#使用Image的crop函数,从截图中再次截取我们需要的区域
verifycodeimage.save(
'f://verifycodeimage.png'
)
image=Image.open(
'f:verifycodeimage.png'
)
#print image
vcode=pytesseract.image_to_string(image).strip()
#使用image_to_string识别验证码
print vcode