

# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块
import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
import cv2
import numpy as np
import base64
def find_gap_from_base64(base64_str, block_size=70):
try:
if "base64," in base64_str:
base64_str = base64_str.split(",")[1]
img_data = base64.b64decode(base64_str)
np_arr = np.frombuffer(img_data, np.uint8)
img = cv2.imdecode(np_arr, cv2.IMREAD_COLOR)
if img is None:
print("❌ base64 解码失败")
return None
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
h, w = gray.shape
best_val = 999999
best_x = best_y = 0
# 暴力遍历:找【灰度在 175~230 之间】的灰色块
for y in range(0, h - block_size, 4):
for x in range(0, w - block_size, 4):
patch = gray[y:y + block_size, x:x + block_size]
avg = np.mean(patch)
if 175 < avg < 230:
var = np.var(patch)
if var < best_val:
best_val = var
best_x = x
best_y = y
print("✅ 成功找到缺口!X =", best_x)
# 显示结果
# cv2.imshow("RESULT", img)
# cv2.waitKey(0)
# cv2.destroyAllWindows()
return best_x
except Exception as e:
print("❌ 报错:", str(e))
return None
def main(args):
pass所需库
opencv-python numpy
【验证码挑战】手搓之文字点选系列,百分百免费借助ddddcor开源库
手搓系列之ddddocr解决计算验证码100%免费通过率百分之90以上
DCpage:搞定反验证码网站就是如此简单,py纯免费无需云码接口