Python直接控制鼠标键盘

之前因为期末的原因已经很久没写博客了,今天博主发现一个好玩的模块PyAutoGUI,借助它可以使用Python脚本直接控制键盘鼠标,感觉可以解决很多无聊的机械运动。这里记录一下学习情况

安装

$ sudo pip install pyautogui

安装的依赖包可能比较多,只要耐心等待即可

基本使用

screenWidth, screenHeight = pyautogui.size() # 屏幕尺寸
mouseX, mouseY = pyautogui.position() # 返回当前鼠标位置,注意坐标系统中左上方是(0, 0)

为了保持用户可以随时干预鼠标键盘的动作,比较好的方法是添加停顿,或者强制结束,否则想停了鼠标还一直在晃就会失控,下面是两种对应的设置

pyautogui.PAUSE = 1.5 # 每个函数执行后停顿1.5秒
pyautogui.FAILSAFE = True # 鼠标移到左上角会触发FailSafeException,因此快速移动鼠标到左上角也可以停止

鼠标操作

移动

w, h = pyautogui.size()
pyautogui.moveTo(w/2, h/2) # 基本移动
pyautogui.moveTo(100, 200, duration=2) # 移动过程持续2s完成 pyautogui.moveTo(None, 500) # X方向不变,Y方向移动到500 pyautogui.moveRel(-40, 500) # 相对位置移动

拖动

# 点击+向下拖动
pyautogui.click(941, 34, button='left') pyautogui.dragRel(0, 100, button='left', duration=5)

点击

pyautogui.click(300, 400, button='right') # 包含了move的点击,右键 pyautogui.click(clicks=2, interval=0.25) # 双击,间隔0.25s

滚轮

pyautogui.scroll(-10)

键盘操作

输入文字

点击对话框输入文字即可,不过中文好像不行

pyautogui.click(1279, 374)
pyautogui.typewrite('hello world!')

精确控制键盘

一下是手动输入中文的方法

pyautogui.press('shift') # 切换输入法的中英文
pyautogui.press(['#', ' ']) # press 可以对单个字符或者列表进行操作 pyautogui.press(['x', 'i', 'a', 'o']) pyautogui.press(['y', 'u']) pyautogui.press(['w', 'e', 'i']) pyautogui.press(['l', 'a', 'n']) pyautogui.press(' ') # 潇雨危栏

hotKey

pyautogui.hotkey('shift', 'a') # 可以使用组合键,本质上是
''' pyautogui.keyDown('shift') pyautogui.keyDown('a') pyautogui.keyUp('shift') pyautogui.keyUp('a') '''

小结

PyAutoGUI模拟了鼠标键盘的输入,感觉机器好像被脚本操控了,具体的应用还没想好,感觉好像能解决一些爬虫的问题。这个库的灵活之处在于应用无关性,缺点也在于这一点。

转载自:https://www.cnblogs.com/fanghao/p/8453207.html

转载于:https://www.cnblogs.com/guohu/p/11314911.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值