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

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

一、排行榜截图

61e6dd80191c483ab00595aca52a99de.png


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

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


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

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

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


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


二、实现效果

image.gif


三、环境要求


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

be2a122d53fd4593bb95c355b9d787c4.png

1c1699d239144899a103099f321dedbb.png


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,比如:增加可选择登录用户、可自定义选择文章的功能。

目录
相关文章
|
存储 物联网 芯片
聊聊身边的嵌入式:点菜机用着好好的,突然挂了,这口锅应该甩给谁?
聊聊身边的嵌入式:点菜机用着好好的,突然挂了,这口锅应该甩给谁?
|
Go
腥风血雨中,这招救了我的代码!
腥风血雨中,这招救了我的代码!
54 0
|
测试技术
软件测试面试者注意啦!尽量避开这个坑,千万别让培训机构割韭菜啦!
软件测试面试者注意啦!尽量避开这个坑,千万别让培训机构割韭菜啦!
用“三国杀”讲“分布式算法”,这下舒适了吧?
前言 《三国杀》是一款热门的卡牌游戏,结合中国三国时期背景,以身份为线索,以卡牌为形式,益智休闲,老少皆宜。 东汉末年,袁绍作为盟主,汇合了十八路诸侯一起攻打董卓。 在讲解之前,我们先聊下分布式协议和算法整体脉络。 现在很多开发同学对分布式的组件怎么使用都有一定经验,也知道 CAP 理论和 BASE 理论的大致含义。但认真去看分布式算法的真的很少,原因有三:
|
JavaScript 小程序 Java
当年那个手搓CPU的老哥回来了!
当年那个手搓CPU的老哥回来了!
|
Java 关系型数据库 MySQL
【浅尝高并发编程】接私活差点翻车
作为一名本本分分的练习时长两年半的Java练习生,一直深耕在业务逻辑里,对并发编程的了解仅仅停留在八股文里。一次偶然的机会,接到一个私活,核心逻辑是写一个 定时访问api把数据持久化到数据库的小服务。
171 0
|
安全 Java
老爷子这代码,看跪了! (下)
老爷子这代码,看跪了! (下)
130 0
老爷子这代码,看跪了! (下)
|
Java 程序员
老爷子这代码,看跪了! (中)
老爷子这代码,看跪了! (中)
141 0
老爷子这代码,看跪了! (中)
|
Java
老爷子这代码,看跪了! (上)
老爷子这代码,看跪了! (上)
147 0
老爷子这代码,看跪了! (上)
|
安全 程序员 开发者
程序员接私活,怎样防止做完不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。
335 0
程序员接私活,怎样防止做完不给钱?