受疫情影响,现在还在家上网课,由于英语网课的作业经常会要输入一大段英文字母,由于网站的设置,不能直接粘贴答案,自己写好中文去有道翻译了还得一个个输入,所以尝试了一下利用Python来读取一个txt或其他格式的文本,然后键盘自动输入该文本中的数据到目标网站上,原来的想法是可能需要先将要输入的文本复制粘贴到txt文件中,然后利用python读取文件,再利用库函数进行输入,后面发现利用pyautogui可以一行代码就实现我需要的功能。
下面介绍一下用到的工具:
pyautogui
和之前实现鼠标每隔段时间自动点击某目标区域的函数类似,用到了pyautogui库,如其名,功能就是利用pyhton实现GUI自动控制鼠标和键盘,不得不说这个库对于操作鼠标和键盘真的不要太方便。
1.安装: pip install pyautogui
2.typewrite()函数介绍
该函数可以实现键盘自动输入目标字符串,有两个参数,第一个是要输入的字符串,第二个是每次输入的间隔时间,一般设置为0.25s。
pyautogui.typewrite('Hello World', 0.25)
也可以这样输入来实现更多功能:
pyautogui.typewrite(['a', 'b', 'backspace'], '0.25') # 输入a,b后再按一下回车
这里我只需要直接输入一长段英文即可,所以直接利用第一种方式输入就行,一般输入的字数都是几百,这么长的字符串不分行的话肯定会有警告,我自己用的是pycharm测试的,虽然警告但是还是会正常输入完成。
最终的代码实现如下:
import pyautogui import time time.sleep(5) # 延迟5秒 pyautogui.typewrite('A literary search is an imp...', '0.25')
这里延迟5s是为了空出时间来将光标提前放在要输入的位置。
还可以利用该库的其他功能添加一个输入完成的提示功能,代码如下:
pyautogui.alert('输入完成!')
加入此行代码后,输入完成时,会弹出这样一个提示框,单击OK结束。
代码很简单,大家笑一笑就好
因为暂时只需要用到输入英文,要输入中文的话稍微麻烦一点,后续有需求了再研究研究
需要pyautogui的更多功能可以查看:
https://muxuezi.github.io/posts/doc-pyautogui.html