怎么刷色弱测试高分(我可能是有病才会写这个)

本文介绍了如何使用Python的pyautogui库实现色弱测试的鼠标点击刷分方法,以及通过Selenium进行颜色识别提高得分。尽管鼠标点击法受限于速度,能刷到60分左右,但Selenium识别元素法能突破限制,达到130+的分数。相关代码已给出,包括定位方块位置、识别颜色并点击的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


色弱测试链接

https://xingye.me/game/colortest/index.html色弱测试链接

代码刷高分

鼠标点击法

色弱测试即是n*n的方块里面有一个方块和其他的方块颜色不同,我们找出这个方块并点击,就会跳到下张图片并获得1分。
我首先想到的是利用鼠标依次点击每个方块,只要鼠标点击的够快,我们就能快速得分。
方块的总体区域没有变化,一开始是4*4,最后会变成9*9,那我们直接设计81个点击区域,让鼠标依次点击即可。

在这里插入图片描述

在这里插入图片描述

效果演示

色弱测试click

运行代码前需要先获取第一个方块和最后一个方块的位置,然后生成81个方块的位置。

然而鼠标点击和移动的速度是有限制的,不可能一瞬间点击81个地方,因此这种方法虽然有效,但只能刷到60分左右
在这里插入图片描述

selenium识别元素法

既然鼠标点击速度有限制,我们不妨直接获取方块的颜色,选中所需的方块直接点击就行了。我们直接使用python的selenium模块获取元素的属性(右键元素,点击检查,既可以看到相应元素)。
可以看到方块的style属性即包含了元素的RGB值。
在这里插入图片描述
右键copy xpath,再利用下面这行代码即可以得到元素的style属性
(不会用selenium的建议搜一下怎么配置和使用,我这里用的是selenium2.x,不同版本代码有差异)

xpath = '//*[@id="box"]/span[1]'
color = driver.find_element_by_xpath(xpath).get_attribute("style")

在这里插入图片描述
然后既是依次获取每个方块的颜色,找到颜色不同的方块直接点击就行,这样每张图片相当于识别n次(n>=3,因为至少要识别三个方块才能判断哪个方块是应该点击的),点击1次

效果演示

chrome_click

识别元素和网站反应都需要时间,所以分数也是有上限的,经过我测试,能过达到130+
在这里插入图片描述

相关代码

position.py,用来确定第一个方块和最后一个方块的位置,得到位置后在click.py代码中修改

import os, time
import pyautogui as pag

while 1:
    try:
        print("Press Ctrl-C to end")
        x, y = pag.position()  # 返回鼠标的坐标
        posStr = "Position(x,y):" + 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq_43091428

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

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

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

打赏作者

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

抵扣说明:

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

余额充值