手速最快的是电竞选手?错了,是程序员

一、排行榜截图

在这里插入图片描述


648KPM,足足高了第二名100多KPM!

大家也可以去试试自己的KPM有多少,打字测试网站:https://dazi.kukuw.com/


其实这并非手打的,而是使用了selenium来实现自动打字,并增加了一些防止作弊检测的手段,比如:

  1. 动态速度
  2. 随机输错、退格
  3. 错字修正

从而实现打字排行榜第一。

<<点我获取完整源码和【可直接运行】工具,或关注左侧公众号,回复:打字


二、实现效果

在这里插入图片描述


三、环境要求

1)安装谷歌浏览器,按下图步骤操作,找到谷歌浏览器的版本号:


在这里插入图片描述


在这里插入图片描述


2)然后访问:chromedriver下载地址,下载对应版本的chromedriver(大版本号相同即可),并放在打字工具的同目录下即可。


双击执行工具就可以看到效果了。


四、核心源码讲解

1.在每次循环打字前,设定打字的间隔时间:

 		wait_time = random.randint(12, 100)
        time.sleep(wait_time / 1000)  # 控制每次打字的间隔时间

2.另外设置故意打错的概率及要打错几个字:

        error_value = random.randint(1, 20)
        if error_value == 2:  # 当error_value等于2时,代表故意打错
            error_length = random.randint(1, 4)  # 需要打错几个字母
            for k in range(error_length):  # 进行打错操作
                letter_v = random.randint(97, 122)
                letter = chr(letter_v)  # 数字转换为字母
                time.sleep(wait_time / 1000)
                browser.find_element(By.XPATH, '''//*[@id="i_''' + str(i) + '''"]/input[2]''').send_keys(letter)

3.打错后,需要退格再重新输入正常的内容:

            for a in range(error_length):  # 进行退格操作
                keyboard.press(Key.backspace)
                keyboard.release(Key.backspace)
        browser.find_element(By.XPATH, '''//*[@id="i_''' + str(i) + '''"]/input[2]''').send_keys(j)

五、总结

整个代码内容不多,实现也很简单,小伙伴们可以自己拿到源码进行diy,比如:增加可选择登录用户、可自定义选择文章的功能。





👇🏻完整源码和【可直接运行】工具,关注公众号【python砖家】,回复:打字 👇🏻
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

曲鸟

不要打赏,没必要!

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

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

打赏作者

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

抵扣说明:

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

余额充值