简介
本文的主要考虑GUI自动化,主要包括使用python控制键盘与鼠标。
浏览器自动化可以参考udemy课程的Section 13 - Web Scraping
Word,Excel,PDF自动化可以参考Section 14 - Excel, Word, and PDF Documents
Email自动化收发可以参考Section 15 - Email
安装
1 2 3 4 5 6 7 8 9
| sudo pip3 install python3-xlib sudo apt-get install scrot sudo apt-get install python-tk sudo apt-get install python3-dev sudo pip3 install pyautogui
|
调试鼠标位置
1
| pyautogui.displayMousePosition()
|
鼠标操作常用函数
1 2 3 4 5 6 7 8 9 10
| pyautogui.size() pyautogui.position() pyautogui.moveTo(x,y,duration=1.5) pyautogui.moveRel(x,y) pyautogui.click() pyautogui.doubleClick() pyautogui.rightCLick() pyautogui.middleClick() pyautogui.dragTo() pyautogui.dragRel()
|
键盘操作常用函数
1 2 3 4 5
| pyautogui.typewrite('Hello world!',interval=0.2) pyautogui.typewrite(['a','b','left','left','X','Y'],interval=1) pyautogui.KEYBOARD_KEYS pyautogui.press('f1') pyautogui.hotkey('ctrl','o')
|
截图与图像识别
1 2 3 4 5 6 7
| pyautogui.screenshot('~/dev/test.png') #要求识别像素完全一致 #如果被部分遮挡就会无法识别 #我想如果利用SIFT特征识别来实现,说不定可以一定程度上克服这个缺点 pyautogui.locateOnScreen('~/dev/test/calc7key.png') pyautogui.locateCenterOnScreen('~/dev/test/calc7key.png')
|
示例
一个简易示例,利用pyautogui自动操作游戏。
https://github.com/asweigart/sushigoroundbot
参考资料
[1] Automate the Boring Stuff with Python Programming
[2] 日常繁琐任务自动化指南
[3] PyAutoGUI 文档