用python实现打字练习网站第一

一、简介

在线打字测试(dazi.kukuw.com)网站中,本人kpm一直不高,想着是否能用python写个脚本来改善下,

于是选择用python的Selenium来实现。也对其中遇到一些常见问题进行解决。

二、正文

1)首先,webdriver.Firefox()初始化了一个火狐浏览器的实例

from time import sleep
from selenium import  webdriver
from selenium.webdriver.firefox.webdriver import Service
from selenium.webdriver.common.by import  By
from selenium.webdriver.common.keys import Keys






s = Service("D:\\Python\\geckodriver.exe")
driver = webdriver.Firefox(service=s)

1这里的路径指向的是firefox的驱动,不是firefox浏览器本身,不然无法对firefox进行操作

2)打开网址

driver.get('https://dazi.kukuw.com/')

3)用html元素操作开始操作按钮

 

driver.find_element(by=By.NAME,value='start_button').click()

4)再通过xpath路径找到文本框并输入原文

 

for c in range(60):
     text = driver.find_element(by=By.ID, value=f'i_{c}').text
     driver.find_element(by=By.XPATH,value='''//*[@id="i_'''+str(c)+'''"]/input[2]''').send_keys(text,Keys.SPACE)
     sleep(3)

1刚开始采用了如下的xpath,发现每行文本框xpath都一样,于是找父节点

//input[@class='typing']

2页面中需要通过空格换行,所以加了Keys.SPACE

3刚开始没加sleep()导致每次只能循环两次,就卡住

简陋的完整代码

from time import sleep
from selenium import  webdriver
from selenium.webdriver.firefox.webdriver import Service
from selenium.webdriver.common.by import  By
from selenium.webdriver.common.keys import Keys



s = Service("D:\\Python\\geckodriver.exe")
driver = webdriver.Firefox(service=s)
driver.maximize_window()
driver.get('https://dazi.kukuw.com/')
driver.find_element(by=By.NAME,value='start_button').click()
for c in range(60):
     text = driver.find_element(by=By.ID, value=f'i_{c}').text
     driver.find_element(by=By.XPATH,value='''//*[@id="i_'''+str(c)+'''"]/input[2]''').send_keys(text,Keys.SPACE)
     sleep(3)

如果需要让作弊不太明显可以,适当的调用sleep()或者退格key.space

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值