pyautogui
目录
回到顶部
安装
1 |
pip install pyautogui
|
基本使用
查询
1 2 3 4 5 |
screenWidth, screenHeight = pyautogui.size() # 屏幕尺寸
mouseX, mouseY = pyautogui.position() # 返回当前鼠标位置,注意坐标系统中左上方是(0, 0)
#为了保持用户可以随时干预鼠标键盘的动作,比较好的方法是添加停顿,或者强制结束,否则想停了鼠标还一直在晃就会失控,下面是两种对应的设置
pyautogui.PAUSE = 1.5 # 每个函数执行后停顿1.5秒
pyautogui.FAILSAFE = True # 鼠标移到左上角会触发FailSafeException,因此快速移动鼠标到左上角也可以停止
|
鼠标操作
移动
1 2 3 4 5 |
w, h = pyautogui.size()
pyautogui.moveTo(w/2, h/2) # 从当前位置移动到屏幕中间
pyautogui.moveTo(100, 200, duration=2) # 移动过程持续2s完成,当前鼠标位置移动到100,200
pyautogui.moveTo(None, 500) # X方向不变,Y方向移动到500
pyautogui.moveRel(-40, 500,duration=5) # 相对位置移动
|
点击
1 2 3 |
pyautogui.click(300, 400, button= 'right' ) # 在300,400坐标处右键点击,
pyautogui.click(clicks=2, interval=0.25) # 双击,间隔0.25s
pyautogui.click(300, 400,clicks=2, utton= 'left' interval=0.25) # 在300,400坐标处左键双击
|
滚轮
1 |
pyautogui.scroll(-10) #它只接受一个整数,值为正则往上滚,值为负则往下滚
|
键盘操作
输入文字
点击对话框输入文字即可
1 2 |
pyautogui.click(1279, 374)
pyautogui.typewrite( 'hello world!' )
|
有一些特殊的键,可以用如下方式输入:
1 2 3 |
pyautogui.typewrite([ 'enter' , 'a' , 'b' , 'left' , 'left' , 'X' , 'Y' ], '0.25' )
#注意有一个大括号
#如果要删除某个输入框的文字,delete可能不好用,可以试试backspace
|
用下面的方式可以避免中英文混乱
1 2 3 4 5 6 7 |
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( ' ' )
|
热键
1 2 3 4 5 6 7 |
pyautogui.hotkey( 'shift' , 'a' ) # 可以使用组合键,本质上是
'' '
pyautogui.keyDown( 'shift' ) #按下
pyautogui.keyDown( 'a' )
pyautogui.keyUp( 'shift' ) #松开
pyautogui.keyUp( 'a' )
'' '
|
问题
1、远程桌面关闭后模拟鼠标键盘失效的问题
原因分析
因为通过mstsc启动远程桌面连接时,被连接的Windows会启动一个会话(Session)。此时你对远程桌面窗口里面的所有操作(鼠标,键盘)将会‘翻译’成TCP包传输过去,被连接的Windows接收到这些包之后,‘还原’命令并且在当前的活动会话上面执行。而当你断开连接时(点X关闭),会话变成断开状态,Windows会自动关闭会话(事实上会话还是在的,只是状态变成断开的),也就导致了所有基于GUI的操作‘失效’了。
解决方案的脚本命令
1 2 3 4 5 |
@%windir%\System32\tscon.exe 0 /dest:console
@%windir%\System32\tscon.exe 1 /dest:console
@%windir%\System32\tscon.exe 2 /dest:console
把上面的这个脚本命令保存为.bat批处理文件,放到桌面上,每次想断开远程连接的时候,点击运行即可。
|
标签:pyautogui,鼠标,会话,python,press,400,------,click From: https://www.cnblogs.com/qingshuihongye/p/16617234.html