python 京东滑动验证码 2类代码,1类低概率通过

本文分享了Python初学者尝试破解京东滑动验证码的经历,提供了两种代码方案,一种基于完整原图,另一种使用缺口原图并进行图像处理。尽管第一类代码无法通过,第二类代码在加入特定调整后能实现低概率通过。文章提到,成功可能与位置误差有关,并附带了参考链接。
摘要由CSDN通过智能技术生成

python 初学者一开始就挑战京东的滑动验证码的话,难度有点大,我也是研究了好久,不是图片问题就是代码问题,还有初学者遇到的各种问题(都能让人纠结半天),比如少打个括号、少打:、没有缩进等等。最后还是在大神的代码基础上稍微改了点才能低概率通过(。。。。)
废话不多说了,共两类代码,第一类采用的是完整原图,第二类采用的是缺口原图(进行灰度、二值化处理),最后结果是:第一类代码因为轨迹问题,始终通过不了,当然距离位置也与实际存在挺大区别;第二类原始代码因为轨迹问题通过不了,本人稍微加了两行代码,最后低概率通过(运气好的话2~3次就能通过)(超过10次,建议退出后再试)【我觉得可能是距离位置与实际存在较大误差的原因】,下面直接上代码。
第一类代码:
转载和参考链接为,如有漏的请告知:
https://blog.csdn.net/qq_39802740/article/details/83584980
https://blog.csdn.net/qq_38685503/article/details/81187105
https: // blog.csdn.net / qq_42709514 / article / details / 81975918

from PIL import Image
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time,random
#补判断模块
from selenium.webdriver.support import expected_conditions as EC     #判断元
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
def get_image(browser):
    time.sleep(2)
    bigimg_element = browser.find_element_by_xpath('//div/div[@class="JDJRV-bigimg"]')    #没高度  可能需要一点反应时间,time.sleep(2)
    time.sleep(2)
    bigsize = bigimg_element.size       #上一行少1个括号都会出现 invalid syns
    biglocation = bigimg_element.location
    bigleft = biglocation['x']
    bigtop = biglocation['y']
    bigright = bigleft + bigsize['width']
    bigbottom = bigtop + bigsize['height']
    print(bigsize)                        #文中多处print只是为了验证程序是否能正常运行和得到一些参数值供判断(比如缺口距离print(loc))
    print(bigsize['width'])
    print(bigsize['height'])
    time.sleep(1)
    print(bigleft, bigtop, bigright, bigbottom)
    browser.save_screenshot('D:\quekou.png')
    snap_obj = Image.open('D:\quekou.png')
    print(snap_obj.size)              #起验证作用
    time.sleep(2)
    img_obj = snap_obj.crop((bigleft, bigtop, bigright, bigbottom))     #什么用?
    # img_obj.save('D:\orimg.png')
    # img_obj.show()
    image = img_obj     #如果这个位置是image=get_image(browser)会导致循环
    time.sleep(2)
    ad = match_source(image)
    time.sleep(2)
    visualstack = get_diff_location(ad, image)
    loc = visualstack
    print(loc)
    time.sleep(2)
    track_list = get_track7(loc)
    time.sleep(2)
    s
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值