第2节:Python 自动化编程进阶 - pg 高级应用
课程目标
- 掌握 pyautogui 的高级鼠标控制和键盘操作技巧
- 学习屏幕截图和图像识别的方法
- 理解如何通过消息框与用户进行交互
课程内容
1. 高级鼠标控制
-
鼠标移动和拖动的高级用法
# 绝对位置移动鼠标到坐标(100, 100),用时2秒 pg.moveTo(100, 100, duration=2) # 相对位置移动鼠标向右100像素,向下50像素,用时1秒 pg.moveRel(100, -50, duration=1)
-
鼠标点击的高级选项
# 在当前鼠标位置进行右键点击 pg.rightClick() # 双击鼠标左键在坐标(200, 200) pg.doubleClick(x=200, y=200)
-
鼠标滚轮控制
# 向上滚动鼠标滚轮10个单位 pg.scroll(10) # 向下滚动鼠标滚轮10个单位 pg.scroll(-10)
2. 高级键盘操作
-
键盘输入的高级用法
# 输入字符串 "Hello, World!",每个字符间隔0.25秒 pg.write('Hello, World!', interval=0.25)
-
键盘按键和组合键
# 模拟按下 'ctrl' 并保持,然后依次按下 'c' 和 'v' with pg.hold('ctrl'): pg.press('c') # 复制 pg.press('v') # 粘贴
3. 屏幕截图与图像识别
-
屏幕截图
# 截取整个屏幕并保存为文件 img = pg.screenshot('full_screen.png') # 截取部分 ico = pg.screenshot(region=(0,0, 300, 400),'ico.png')
-
图像识别
# 识别一个 方案一
qq_item = pg.locateOnScreen("qq.png",confidence=0.8)
qq_item_center = pg.center(qq_item) # 获得中心位置
pg.doubleClick(qq_item_center) # 双击
# 识别一个 方案二
qq_item_center = pg.locateCenterOnScreen("qq.png",confidence=0.8)
pg.doubleClick(qq_item_center) # 双击
# 识别多个
dir_items = pg.locateAllOnScreen('dir.png',confidence=0.8)
dir_items = list(dir_items)
for dir_item in dir_items:
print(dir_item)
4. 消息框函数
- 显示消息和交互
# 显示一个简单的消息框
user_input = pg.prompt('请输入您的名字:')
print(f"您好,{user_input}!")