资源简介
python/selenium 自动完成滑块拼图验证码_需要有python2.7.9以上,selenium3.5
代码片段和文件信息
# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
import os
import requests
import hashlib
import urllib
import base64
import json
import sys
import win32api
import win32con
from PIL import Image
from PIL import ImageEnhance
def pixel_equal(image1 image2 x y):
“““
判断两个像素是否相同
:param image1: 图片1
:param image2: 图片2
:param x: 位置x
:param y: 位置y
:return: 像素是否相同
“““
# 取两个图片的像素点
pixel1 = image1.load()[x y]
pixel2 = image2.load()[x y]
threshold = 60
if abs(pixel1[0] - pixel2[0]) < threshold and abs(pixel1[1] - pixel2[1]) < threshold and abs(
pixel1[2] - pixel2[2]) < threshold:
return True
else:
return False
def get_gap(image1 image2):
“““
获取缺口偏移量
:param image1: 不带缺口图片
:param image2: 带缺口图片
:return:
“““
left = 0
for i in range(left image1.size[0]):
for j in range(image1.size[1]):
if not pixel_equal(image1 image2 i j):
left = i
return left
return left
def md5str(str):
m = hashlib.md5(str.encode(encoding = ‘utf-8‘))
return m.hexdigest()
def md5(byte):
return hashlib.md5(byte).hexdigest()
class DamatuApi():
ID = ‘50561‘
KEY = ‘9ec2ea230a83f411f71c8ae53360251d‘
HOST = ‘http://api.dama2.com:7766/app/‘
def __init__(self username password):
self.username = username
self.password = password
def getSign(selfparam = b‘‘):
return (md5(bytes(self.KEY)+bytes(self.username) + param))[:8]
def getPwd(self):
return md5str(self.KEY + md5str(md5str(self.username)+ md5str(self.password)))
def decodeUrl(selfurltype):
data = {‘appID‘:self.ID
‘user‘:self.username
‘pwd‘:self.getPwd()
‘type‘:type
‘url‘:urllib.quote(url)
‘sign‘:self.getSign(url.encode(encoding = ‘utf-8‘))
}
re = requests.post(“http://api.dama2.com:7766/app/d2Url“ data = (data))
jres = json.loads(re.text)
print jres
Vcode = jres[“result“]
print Vcode
return Vcode
def deccode(selffilePathtype):
f = open(filePath ‘rb‘)
fdata = f.read()
filedata = base64.b64encode(fdata)
f.close()
data = {‘appID‘: self.ID
‘user‘: self.username
‘pwd‘: self.getPwd()
‘type‘: type
‘fileDatabase64‘: filedata
‘sign‘: self.getSign(fdata)
}
re = requests.post(“http://api.dama2.com:7766/app/d2File“ data = (data))
jres = json.loads(re.text)
print jres
Vcode = jres[“result“]
print Vco
相关资源
- fpgrowth的python实现
- 自己用python写的后门
- 度分秒与十进制批量转换
- Learn Python the Hard Way 中文版第三版
- HTMLTestRunnerCN.py
- HAP-NodeJS虚拟设备配置及python脚本
- python3下的PBC库
- Python成绩管理系统精简版
- 最全Python编程基础+简单爬虫+进阶项目
- python端口扫描代码源码
- python wxpy实现微信群消息转发
- Python_验证采样定理.py
- python爬虫爬微信公众号文章
- Python网络爬虫实战Scrapy.txt
- micropython下的ds18b20代码
- knn 字符识别 python
- EM算法Python实现
- 简单的python购物车程序
- 是AI就躲个飞机-纯Python实现人工智能
- Python接口测试框架实战与自动化进阶
- 基本蚁群算法python实现
- python核心编程第二版习题答案
- 基于二维伽马函数的光照不均匀的图
- python主题爬取百度新闻
- MySQL-python-1.2.5.win-amd64-py2.7
- nao机器人单个关节运动程序
- Python - Flask 使用Ajax 实现多文件上传
- Python魔鬼训练营系列教程
- 多线程爬虫
- python简单实现-中国象棋
评论
共有 条评论