摘要:参考文章安装官网介绍可以模拟移动鼠标,单击鼠标,用鼠标拖动,按键,按住键,还可以按键盘热键组合。鼠标双击,其实就是执行两次函数。键盘操作输入文字如果是中文键是复制精确控制键盘按键的按下和释放和鼠标按键非常类似。
参考文章:http://www.chenxm.cc/post/547...
安装
pip install pyautogui
官网:
http://pyautogui.readthedocs.io/en/latest/
github:
https://github.com/asweigart/pyautogui
介绍:
PyAutoGUI可以模拟移动鼠标,单击鼠标,用鼠标拖动,按键,按住键,还可以按键盘热键组合。
基础操作
>>> import pyautogui # 获取屏幕尺寸 >>> screenWidth, screenHeight = pyautogui.size() # 获取当前坐标位置 >>> currentMouseX, currentMouseY = pyautogui.position() # 鼠标移动到坐标为100,150的位置 >>> pyautogui.moveTo(100, 150) # 鼠标左击 >>> pyautogui.click() # 鼠标移动10个像素 >>> pyautogui.moveRel(None, 10) # move mouse 10 pixels down # 鼠标双击 >>> pyautogui.doubleClick() >>> pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad) # use tweening/easing function to move mouse over 2 seconds. # 键盘输入Hello world! 间隔为0.25秒 >>> pyautogui.typewrite("Hello world!", interval=0.25) # type with quarter-second pause in between each key # 按键 esc >>> pyautogui.press("esc") # shift按下 >>> pyautogui.keyDown("shift") # 按键左方向键 >>> pyautogui.press(["left", "left", "left", "left", "left", "left"]) # shift弹起 >>> pyautogui.keyUp("shift") # 组合件 ctrl +c >>> pyautogui.hotkey("ctrl", "c")
保护措施:
PyAutoGUI函数增加延迟为2.5秒:
import pyautogui pyautogui.PAUSE = 2.5
当pyautogui.FAILSAFE = True时,如果把鼠标光标在屏幕左上角,PyAutoGUI函数就会产生pyautogui.FailSafeException异常。
import pyautogui pyautogui.FAILSAFE = True
鼠标操作:
移动
import pyautogui width, hight = pyautogui.size() pyautogui.moveTo(width/2, hight/2) # 基本移动 pyautogui.moveTo(200, 200, duration=2) # 移动过程持续2s完成 pyautogui.moveTo(None, 100) # X方向不变,Y方向移动到100 pyautogui.moveRel(-40, 500) # 相对位置移动
拖拽
拖拽的意思是:按下鼠标键并拖动鼠标。PyAutoGUI提供了两个函数:dragTo() 和 dragRel()。它的参数和moveTo() 和 moveRel() 一样。
pyautogui.click(941, 34, button="left") pyautogui.dragRel(0, 100, button="left", duration=5)
点击
click()函数就是让鼠标点击,默认是单击左键,参数可以设置: pyautogui.click(x=moveToX, y=moveToY, clicks=num_of_clicks, interval=secs_between_clicks, button="left")
其中,button属性可以设置成left,middle和right。
pyautogui.doubleClick():鼠标双击,其实就是执行两次click()函数。 pyautogui.rightClick():右击 pyautogui.middleClick():中击 pyautogui.tripleClick( pyautogui.click(300, 400, button="right") # 包含了move的点击,右键 pyautogui.click(clicks=2, interval=0.25) # 双击,间隔0.25s双击左键
pyautogui.click(clicks=2)两次单击之间停留0.25秒
pyautogui.click(clicks=2, interval=0.25)三击右键
pyautogui.click(button="right", clicks=2, interval=0.25)
鼠标按下和松开两个事件可以分开处理:
pyautogui.mouseDown(x=moveToX, y=moveToY, button="left") pyautogui.mouseUp(x=moveToX, y=moveToY, button="left")
滚轮
它只接受一个整数。如果值为正往上滚,值为负往下滚。
pyautogui.scroll(-10)
键盘操作
输入文字
pyautogui.click(100, 200) pyautogui.typewrite("hello world!")如果是中文键是复制
精确控制键盘
按键的按下和释放 和鼠标按键非常类似。
keyDown():按下某个键 keyUp():松开某个键 press():一次完整的击键,前面两个函数的组合。 pyautogui.press("shift") # 切换输入法的中英文 pyautogui.press(["#", " "]) # press 可以对单个字符或者列表进行操作 pyautogui.press(["c", "h", "e", "n"]) pyautogui.press(["x", "i","n"]) pyautogui.press(["m", "i", "n","g"]) pyautogui.press(" ") # 陈新明
组合键hotKey
pyautogui.hotkey("shift", "a") # 可以使用组合键,等同于以下代码 """ pyautogui.keyDown("shift") pyautogui.keyDown("a") pyautogui.keyUp("shift") pyautogui.keyUp("a")
"""
截图
import pyautogui im1 = pyautogui.screenshot() im2 = pyautogui.screenshot("my_screenshot.png") screenshot()需要花费100毫秒
如果你不需要截取整个屏幕,还有一个可选的region参数。你可以把截取区域的左上角XY坐标值和宽度、高度传入截取。
im = pyautogui.screenshot(region=(0, 0, 300 ,400))
读取截图的图片
import pyautogui pyautogui.locateOnScreen("my_screenshot.png")
原文:http://www.chenxm.cc/post/633...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/42104.html
摘要:实现各种个样的撩妹鼠标拖尾系统的拖尾已经无法满足我们了,女朋友叫你把鼠标拖尾换成她的照片,让你时时刻刻都可以看见她,这个要求你答不答应。二文艺型拖尾这个拖尾杀伤力不大,侮辱性极强,给自己增加工作。 python-tkinter(7) 实现各种个样的撩妹鼠标拖尾 系统的拖尾已经无法满足我们了...
摘要:我发现我的粉丝量涨的很慢,这次厚脸皮要波关注。这次做的是一个小巧的游戏脚本,本质上它可以用于任意的电脑与手机游戏。分析这个游戏是上的别猜百块儿,意思就是让咱们只踩黑块,然后会给我们弹一手音乐。越趋近于说明颜色越黑。 目录 前言 分析(x0) 分析(x1) 那么如何去确定这个像...
摘要:概述是一款开源的自动化框架,模拟用户操作浏览器的行为,主要用于界面自动化浏览器兼容性测试。将浏览器原生的封装成,作为编程语言与浏览器通信的桥梁,从而达到操作浏览器的目的。 ...
阅读 2170·2023-04-26 00:00
阅读 3280·2021-09-24 10:37
阅读 3542·2021-09-07 09:58
阅读 1531·2019-08-30 15:56
阅读 2228·2019-08-30 13:11
阅读 2323·2019-08-29 16:38
阅读 974·2019-08-29 12:58
阅读 1890·2019-08-27 10:54