pyautogui使用,python pyautogui实现自动化
目录自动化工具鼠标鼠标鼠标移动鼠标拖动鼠标蹒跚学步/缓慢鼠标点击鼠标滚动功能键盘
GUI工具PyAutoGUI可以在Windows/Mac/Linux和Python 2&3上运行。
pip安装pyautogui
导入pyautogui注意:运行PyAutoGUI库时,请添加以下两行代码,防止程序失控,采取补救措施。
故障保护机制
在每次调用PyAutoGUI后设置2.5秒的暂停:
Pyautogui。PAUSE=2.5 #增加所有PyAutoGUI函数的延迟。默认延迟时间为0.1秒。当故障安全模式为真时,移动鼠标到左上角会弹出pyautogui。FailSafeException,它可能会中止当前运行的程序:
Pyautogui。FAILSAFE=True #避免失控的保护措施
mouse size()方法pyautogui.size() #返回屏幕宽度和高度像素的元组。如果屏幕分辨率为1920*1080,则左上角坐标为(0,0)。
右下角的坐标是(1919,1079)(因为坐标从0开始,而不是1)
x坐标从左边的0开始,向右增加。
y坐标从顶部的0开始,向下递增。
position()方法pyautogui.position() #返回鼠标光标在屏幕上的当前x和y坐标()方法pyautogui . screen(x,y) #检查屏幕上的XY坐标是否返回True和False。
鼠标moveTo()方法pyautogui.moveTo(x,y) #将鼠标光标移动到传递的x和y整数坐标。
Pyautogui.moveTo(None,y) # None none可以为坐标传递该值以指示“当前鼠标光标位置”
例如,Pyautogui.moveTo(x,None)
Pyautogui.moveTo(100,200) #将鼠标移动到x轴为100像素,y轴为200像素的位置。
Pygui.moveto (none,300) #将鼠标移动到X轴为100像素,Y轴为300像素的位置。
Pyautogui.moveTo(400,None) #将鼠标移动到x轴上400像素和y轴上300像素的位置。Pyautogui.moveto (x,y,[duration=t]) #在给定的持续时间(以秒为单位)x内将鼠标移动到屏幕上的指定位置,其中y是目标位置的水平和垂直坐标,duration指定鼠标光标移动到目标位置所需的时间
t可以是整数,也可以是浮点数,省略duration参数意味着立即将光标移动到指定位置。
(在PyAutoGUI函数中,所有duration关键字参数都是可选的)
如果持续时间小于pyautogui。MINIMUM_DURATION,移动将是瞬时的。pyautogui的默认值。MINIMUM_DURATION为0.1。
move()方法pyautogui.move(x,y) #将鼠标光标相对于其当前位置移动几个像素,其中x,y不再是目标位置的坐标,而是偏移量。
例如:
Pyautogui.moveTo(100,200) #将鼠标移动到x轴为100像素,y轴为200像素的位置。
Pyautogui.move(100,0) #表示光标相对于当前位置(100,200)向右移动100个像素(200,200)。
拖动鼠标DragTo()方法pyautogui.dragTo (x,y,[duration=t]) #将鼠标拖动到指定位置的pyautogui的dragTo()和drag()函数也具有与moveTo()和move()函数类似的参数。此外,它们还有一个按钮,可以设置为关键字“左”、“中”、“右”。拖动时按住鼠标按钮。
Pygui.dragto (x,y,[duration=t],button= left) #按住鼠标左键,拖动鼠标到指定位置。
Pygui.dragto (x,y,[duration=t],button= middle) #按住鼠标中键,拖动鼠标到指定位置。
Pyautogui.dragto (x,y,[duration=t],button= right) #按住鼠标右键,拖动鼠标到指定位置。Drag()方法pyautogui.drag (x,y,[duration=t]) #将鼠标光标相对于其当前位置移动几个像素,其中x,y不再是目标位置的坐标。
使用与dragTo()相同的方法
鼠标点动或点动功能指示鼠标移动到目的地时的进度。通常你移动鼠标一段时间,鼠标会匀速直线直接向目标移动。这就是所谓的线性补充或线性点动功能。
Pyautogui模块中有其他补间函数。
move()、move()、dragTo()和drag()方法都可以使用这个函数,通过传递第四个参数可以用指定的线性函数移动鼠标光标。
总持续时间仍然与传递给函数的参数相同。
Pyautogui.easeInQuad:开始慢慢移动,然后朝着目标加速。
Pyautogui.easeOutQuad:鼠标指针开始快速移动,但速度逐渐变慢。
Pyautogui.easeInOutQuad:开始和结束快,中间慢。
Pyautogui.easeOutQuad则相反:开始快速移动鼠标指针,但因为接近目的地而放慢速度。
Pyautogui.easeOutElastic会穿过目标,以“橡皮筋”的方式来回移动,直到稳定在目的地。
Pyautogui.moveto (x,y,[duration=t],pyautogui.easeinquad) #开始缓慢移动,然后加速向目标移动。
Pyautogui.moveto (x,y,[duration=t],pyautogui.easeoutquad) #鼠标指针开始快速移动,但速度逐渐变慢。
Pyautogui.moveto (x,y,[duration=t],pyautogui.easeinoutquad) #快速开始和结束,中间缓慢结束。
Pyautogui.moveto (x,y,[duration=t],pyautogui.easeinbounce) #将鼠标移动到目标位置进行弹跳。
Pyautogui.moveto (x,y,[duration=t],pyautogui.easeinland) #会穿过目标,以“橡皮筋”的方式来回移动,直到稳定在目的地。这些补间函数复制自Al Sweigart的PyTweening模块:
https://github.com/asweigart/pytweening可以在不安装这个模块的情况下使用补间功能。
如果要创建自己的补间函数,请定义一个函数,该函数使用0.0(表示鼠标移动的起点)和1.0(表示鼠标移动的终点)之间的单个浮点参数,并返回0.0和之间的浮点值1.0。
单击鼠标单击()、右键单击()、中键单击()、双击()和三击()来传递以下参数:
x和y:将鼠标移动到目标区域。
持续时间:鼠标移动目标位置的时间。
按钮:指定点击不同的鼠标按钮,“左”左键,“中”中键和“右”右键。
Clicks:要进行多次点击,请向clicks关键字参数传递一个整数。
Interval:指定单击之间的暂停时间(秒)
Click()方法pyautogui.click() #默认为当前光标位置。点击moveTo()和鼠标左键点击()在点击前合并调用,可以为click()传递x,y参数:
Pygui.click (x,y) #移动到目标位置,用鼠标左键单击指定不同的鼠标键,并传递 left , right , middle 等参数:
pyautogui.click(x,y,[button=# 39;Left/right/middle])要进行多次单击,请向clicks关键字参数传递一个整数。
Pygui.click (clicks=2) #连续单击两次
Pygui.click (clicks=2) #连续单击interval关键字参数三次,以指定两次单击之间的暂停时间(以秒为单位)。
Pygui.click (clicks=2,interval=0.25) #连续点击两次,两次点击之间的停顿时间为0.25秒。
pyautogui.click(x=100,y=200,持续时间=2,点击次数=2,间隔=0.25,button=# 39右’)
#移动到X轴上100像素和Y轴上200像素的位置。移动时间为2秒。
#右击两次,每次点击间隔为0.25秒。rightClick()方法pyautogui.rightClick() #默认为当前光标位置,右击middleClick()方法pyautogui.middleClick() #默认为当前光标位置。用鼠标中键在当前光标位置默认点击doubleClick()方法pyautogui.doubleClick() #双击鼠标左键,在当前光标位置默认点击tripleClick()方法pyautogui.tripleClick() #,用鼠标左键点击mouseDown()和mouseUp()方法pyautogui.mouseDown() #三次按鼠标左键,
Pyautogui.mouseUp() #释放鼠标左键鼠标单击和拖动包括按下鼠标键和向上释放鼠标键。
如果希望分别执行这些操作,请调用mouseDown()和mouseUp()方法。
例如
Pygui.mousedown (button= left ,x=100,y=200,duration=2) #首先移动到目标位置并按下鼠标左键(start)
Pygui.mouseup (button= left ,x=300,y=400,duration=2) #移动到目标位置后松开鼠标左键(end)。这个方法是反汇编dragTo()方法的拖动效果。您可以控制鼠标的点击和释放效果。
的鼠标滚动函数可以通过调用scroll()方法并传递一个整数来滚动鼠标滚轮。
Pyautogui.scroll(50) #控制窗口上下滚动(滚动发生在鼠标的当前位置)。填写正数向上滚动。
Pygui.scroll (-50) #控制窗口上下滚动(滚动发生在鼠标的当前位置)。填写负数在不同平台向下滚动,滚动量会有所不同。(可选)在执行滚动之前,可以传递x和y参数来移动鼠标光标。
例如
Pyautogui.scroll (10,x=100,y=200) #移动到目标位置,在OS X和Linux平台上,滚轮向上滚动。PyAutoGUI还可以通过调用hscroll()函数进行水平滚动。
Pyautogui.hscroll(10) #向右滚动
Pygui.hscroll (-10) #向左滚动
键盘打字()方法
Typewrite()方法模拟键盘输入pyautogui . tywrite( hello world!))#从键盘输入Hello world(向文本框发送一个字符串)。若要在按下每个字符键之间添加延迟间隔,请为interval关键字参数传递一个int或float值。
pyautogui . typeet( Hello world!,interval=0.25) #从键盘输入Hello world,每0.25秒输入一个字符。除了单个字符串之外,您还可以将一组键字符串传递给typewrite()函数。
例如:
py GUI . typeet([ V , V , left , left , c , a , t]) #按 V 键, V 键,然后按两次左箭头,然后按 c , a , t。
nbsp#输出结果是catvtytype()。只能按单字键,不能按Shift、ctrl等组合键。
注意:只能输入英文。
Press()方法pyautogui.press(enter) #按enter键(按下并释放)
nbspPygui.press (left) #按下左键(按下并释放)也可以传递要按的字符串列表()
例如
Pygui.press ([left , left , left])使用press()方法可以实现中文输入。
例如
Pygui.press (shift) #切换中文和英文输入法。
Pygui.press ([n , i],interval=0.5) # press可以对单个字符或列表进行操作。
pyautogui.press([ h , a , o],interval=0.5)
pyautogui.press([ s , h , i],interval=0.5)
pyautogui.press([ j , I , e],interval=0.5)
Pyautogui.press( )keyDown()和keyUp()方法
press()方法实际上只是keyDown()和keyUp()函数的包装器,模拟按下一个键然后释放它。
例如:pyautogui.keyDown( shift) #按下shift键(不释放)
Pygui.press (left) #按左箭头键(按下并释放)
Pygui.press (left) #按左箭头键(按下并释放)
Pygui.press (left) #按左箭头键(按下并释放)
Pygui.keyup (shift) #释放shift键(释放)摘要
Pyautogui.keyDown() #根据输入的按键字符串,向计算机发送一个虚拟按键(按下它)
Pyautogui.keyUp() #根据输入的密钥字符串向计算机发送虚拟释放(release)。
Pyautogui.press() #封装了前两个方法,模拟一次完整的击键(按下并释放)
Hotkey()方法
为了方便快捷地按下热键或键盘快捷键,hotkey()可以通过几个键的字符串,依次按下,然后按逆序释放。
示例:pyautogui.hotkey (ctrl , shift , ESC )
#相当于此代码
pyautogui.keyDown( ctrl )
pyautogui.keyDown( shift )
pyautogui.keyDown( esc )
pyautogui.keyUp( esc )
pyautogui.keyUp( shift )
Pyautogui.keyUp( ctrl )例如:
pyautogui.hotkey( ctrl , c )
#相当于
pyautogui.keyDown( ctrl )
pyautogui.keyDown( c )
pyautogui.keyUp( c )
pyautogui . keyup( ctrl )pyautogui . hotkey( ctrl , v )
#相当于
pyautogui.keyDown( ctrl )
pyautogui.keyDown( v )
pyautogui.keyUp( v )
pyautogui . keyup( Ctrl )pyautogui . hotkey()#接收多个字符串参数,按顺序按下,按相反顺序释放。
是的,下面是有效的字符串press()、keyDown()、keyUp()和hotkey()函数:
[\t , \n , \r , ,!, , #, $, %, , , (,
), *, , ,, -, ., /, 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, :, ;, , =, , ?, @, [, \, ], ^, _, `,
a , b , c , d , e , f , g , h , I , j , k , l , m , n , o ,
p , q , r , s , t , u , v , w , x , y , z , { , , } , ~ ,
接受,添加, alt , altleft , altright , apps ,退格,
浏览器后退,浏览器收藏夹,浏览器前进,浏览器主页,
浏览器刷新,浏览器搜索,浏览器停止,大写锁定,清除,
转换, ctrl , ctrlleft , ctrlright , decimal , del , delete ,
除法,向下,结束,回车, esc ,转义,执行, f1 , f10 ,
f11 , f12 , f13 , f14 , f15 , f16 , f17 , f18 , f19 , f2 , f20 ,
f21 , f22 , f23 , f24 , f3 , f4 , f5 , f6 , f7 , f8 , f9 ,
final , fn , hanguel , hangul , hanja , help , home , insert , junja ,
假名,汉字, launchapp1 , launchapp2 , launchmail ,
launchmediaselect , left , modechange , multiply , nexttrack ,
非转换, num0 , num1 , num2 , num3 , num4 , num5 , num6 ,
num7 , num8 , num9 , numlock , pagedown , pageup , pause , pgdn ,
pgup ,播放暂停, prevtrack ,打印,打印屏幕, prntscrn ,
prtsc , prtscr , return , right , scrolllock , select , separator ,
shift , shiftleft , shiftright , sleep , space , stop , subtract , tab ,
up , volumedown , volumemute , volumeup , win , winleft , winright , yen ,
命令,选项,左选项,右选项]完整的键盘键字符串如下:键盘键字符串
含义
A , b , C , A , C , 1 , 2 , 3 ,!,@,#等
单个字符的键
输入
回车
esc
经济社会委员会键
左移,右移
左右变化键
altleft , altright
左右中高音键
ctrlleft , ctrlright
左右计算机的计算机的ctrl按键按键键
制表符(或\t )
标签键
退格键,删除
退格键和删除键
向上翻页,向下翻页
页上移和下一页键
主页,结束
主页键和目标键
"上"、"下"、"左"、"右"
上下左右箭头键
f1 , f2 , f3 等
子一代至F12键
音量静音,音量调高,音量调低
静音,放大音量和减小音量键
"暂停"暂停键
大写锁定,数字锁定,滚动锁定
大写锁定,数字锁定和滚动锁键
插入
插入键
打印屏幕
截屏键或打印屏幕键
winleft , winright
左右胜利键(在窗子上)
命令
命令键(在操作系统上)
选项
[计]选项键(在操作系统上)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。