鱼C论坛

 找回密码
 立即注册
查看: 3893|回复: 3

[技术交流] Python实现自动完成打字测试

[复制链接]
发表于 2021-6-26 06:43:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
果然有需求推动科技。
本次实现的是python结合selenium自动完成打字测试,测试的网址是"https://dazi.kukuw.com/",浏览器使用的是chrome驱动。
代码见下:
  1. import time
  2. import random
  3. from selenium import webdriver
  4. from selenium.webdriver.common.keys import Keys

  5. driver = webdriver.Chrome(executable_path = "G:\\python\\chromedriver.exe")
  6. # chrome驱动安装目录

  7. def openPage(url, myTime,errorRate):
  8.     global driver
  9.     # 打开网址
  10.     driver.get(url)
  11.     # 随机选择一片文章
  12.     randomButtom = driver.find_element_by_id('suiji_a')
  13.     randomButtom.click()
  14.     # 打字时间
  15.     wastTime = driver.find_element_by_id('time')
  16.     wastTime.clear()
  17.     wastTime.send_keys(myTime)
  18.     # 点击打字按钮
  19.     clickTest = driver.find_element_by_name('start_button')
  20.     clickTest.click()
  21.     # 进入打字页面
  22.     for x in range(0, 30):
  23.         divId = 'i_'+str(x)
  24.         # 选中对应序号的一组元素
  25.         dataString = driver.find_element_by_id(divId)
  26.         # 提取文本
  27.         inputText = dataString.find_element_by_tag_name('span')
  28.         # 使用空格进行文本分词
  29.         contentList = inputText.text.split(" ")
  30.         # 选中输入框
  31.         inputClick=dataString.find_element_by_class_name('typing')
  32.         # 遍历每个单词
  33.         for y in contentList:
  34.             for a in y:
  35.                 # print(random.randint(1,100))
  36.                 #出错
  37.                 if random.randint(1,100)<=errorRate:
  38.                     inputClick.send_keys("+")
  39.                     time.sleep(0.1)
  40.                     inputClick.send_keys(Keys.BACK_SPACE)
  41.                     time.sleep(0.1)
  42.                     inputClick.send_keys(a)
  43.                 #正确
  44.                 else:
  45.                     inputClick.send_keys(a)
  46.                 time.sleep(0.3)
  47.             #词末空格
  48.             inputClick.send_keys(Keys.SPACE)


  49. def main():
  50.     # 打字网站
  51.     url = "https://dazi.kukuw.com/"
  52.     # 打字时间
  53.     myTime = 3
  54.     # 错误率,百分之五
  55.     errorRate=5
  56.     openPage(url, myTime,errorRate)

  57. if __name__ == '__main__':
  58.     main()
复制代码


下面放上chromedriver的下载地址
链接:传送门
提取码:i0si
直接在百度网盘APP打开下载就可以啦!

原文链接:https://blog.csdn.net/sinat_37273780/article/details/89021733
稍作修改了,是转载的,谢谢!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-6-26 07:43:15 | 显示全部楼层
@小甲鱼 @不二如是 快点审核呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-7 09:50:46 | 显示全部楼层
元素定位方法和获取驱动目录都需要更新啦~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-23 14:04:17 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-12 07:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表