极验图标方向点选验证码识别

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路
如有侵犯,请联系作者下架

本文识别已同步上线至OCR识别网站: http://yxlocr.nat300.top/ocr/iconclick/10

注意:本文是篇水文,主要展示图标识别的成果
极验图标方向类数据集如下,根据图标的箭头选择相同方向的物品即可
在这里插入图片描述
这种反而是最简单的,只需要8分类接口,总共8个方向,图标的检测依然可以用dddd或者自己训练一版,这种图标几百张就能训练处一个不粗的效果了,下面来看成品展示
在这里插入图片描述
在这里插入图片描述

### 使用 Selenium 处理点击选择验证码 对于需要通过点击特定区域完成证的情况,Selenium 可以模拟用户的鼠标动作来实现这一目标。下面介绍一种常见的方式——基于图像识别的点击选择验证码。 #### 图像预处理与特征提取 为了能够准确定位到待选中的图形位置,通常先要对页面上的验证码图片进行截图保存并做适当处理: ```python from selenium import webdriver import time from PIL import Image # 初始化 WebDriver 对象 (这里假设使用 Chrome 浏览器) driver = webdriver.Chrome() try: # 打开含有验证码的目标网页链接 driver.get('https://example.com/login') # 定位验证码容器元素, 并截取整个屏幕作为背景图 captcha_container = driver.find_element(By.CLASS_NAME,'captcha-container') screenshot_path = './screenshot.png' driver.save_screenshot(screenshot_path) location = captcha_container.location size = captcha_container.size im = Image.open(screenshot_path) left = location['x'] top = location['y'] right = location['x'] + size['width'] bottom = location['y'] + size['height'] captcha_image = im.crop((left, top, right, bottom)) captcha_image.show() # 显示裁剪后的验证码以便人工确认 finally: pass ``` #### 计算坐标偏移量并与实际页面映射 当获取到了清晰可见的验证码图片之后,则需计算出各个选项相对于浏览器窗口左上角的具体像素距离;接着利用这些数据指导 Selenium 进行精准点击操作: ```python from selenium.webdriver.common.action_chains import ActionChains def click_captcha(driver, target_x_offset, target_y_offset): """ 根据给定的相对偏移量,在指定区域内执行一次点击事件。 参数: driver: 已初始化好的WebDriver实例对象; target_x_offset(int): 待点击点横轴方向距父级元素左侧边缘的距离(px); target_y_offset(int): 待点击点纵轴方向距父级元素顶部边界的距离(px)。 返回值: None """ actions = ActionChains(driver) captcha_area = driver.find_element(By.ID ,'captcha-area') # 假设有一个固定ID名为'captcha-area' actions.move_to_element_with_offset(captcha_area ,target_x_offset,target_y_offset).click().perform() ``` 上述方法适用于那些提供明确可交互区域边界信息以及内部各候选图标绝对坐标的场景。如果遇到更加复杂的动态变化型验证码,则可能还需要借助额外工具辅助分析其规律特性再作进一步开发调整[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码王吴彦祖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值