900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 用python实现打字练习网站第一

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

时间:2019-12-05 02:08:02

相关推荐

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

一、简介

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

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

二、正文

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

from time import sleepfrom selenium import webdriverfrom selenium.webdriver.firefox.webdriver import Servicefrom mon.by import Byfrom mon.keys import Keyss = Service("D:\\Python\\geckodriver.exe")driver = webdriver.Firefox(service=s)

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

2)打开网址

driver.get('/')

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}').textdriver.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 sleepfrom selenium import webdriverfrom selenium.webdriver.firefox.webdriver import Servicefrom mon.by import Byfrom mon.keys import Keyss = Service("D:\\Python\\geckodriver.exe")driver = webdriver.Firefox(service=s)driver.maximize_window()driver.get('/')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}').textdriver.find_element(by=By.XPATH,value='''//*[@id="i_'''+str(c)+'''"]/input[2]''').send_keys(text,Keys.SPACE)sleep(3)

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。