背景:朋友让我改一个文件,可我改完已经半夜了。这时候如果微信发给朋友恐会打扰他休息。于是决定用Python写一个自动发送微信信息的脚本,第二天早上自动发送。
任务简述:使用Python自动化程序,把file.txt在早上6点准时拖动到微信并发送。
0 准备
首先需要考虑的是如何通过Python模拟鼠标操作。在此我货比三家:
module | stars | latest commit |
---|---|---|
Pyuserinput | 903 | 2016.2.26 |
mouse | 274 | 2020.1.2 |
PyAutoGUI | 3600 | 2020.1.14 |
对比后,我们选用PyAutoGUI。
Windows/Mac安装:
pip install pyautogui
conda虚拟环境通过豆瓣源加速:
python -m pip install -i https://pypi.douban.com/simple/ pyautogui
1 获取坐标
要发送什么文件,首先需要获取文件坐标,然后再模拟鼠标拖动。
要获取屏幕坐标,可以用下面的代码:
import pyautogui
import time
time.sleep(2)
print(pyautogui.position())
上面的程序会先暂停2秒,等待你将鼠标放到文件上。2秒后,程序会输出文件的屏幕坐标。在我的测试中,我把文件放到了屏幕右上角,坐标为(1857, 31)
。
但是这样做有些不够自动化。
pyautogui提供了更自动化的方法:pyautogui.locateOnScreen()
与pyautogui.locateCenterOnScreen()