python pyautogui_python模块------pyautogui

本文介绍了Python的PyAutoGUI模块,包括安装、基本使用、鼠标和键盘操作,如移动、点击、滚轮、输入文字以及使用热键等。此外,还讨论了远程桌面关闭后模拟鼠标键盘失效的问题及其解决方案。
摘要由CSDN通过智能技术生成

安装

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完成,当前鼠标位置移动到100,200

pyautogui.moveTo(None, 500) # X方向不变,Y方向移动到500

pyautogui.moveRel(-40, 500,duration=5) # 相对位置移动

点击

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坐标处左键双击

滚轮

pyautogui.scroll(-10) #它只接受一个整数,值为正则往上滚,值为负则往下滚

键盘操作

输入文字

点击对话框输入文字即可

pyautogui.click(1279, 374)

pyautogui.typewrite('hello world!')

有一些特殊的键,可以用如下方式输入:

pyautogui.typewrite(['enter', 'a', 'b', 'left', 'left', 'X', 'Y'], '0.25')

#注意有一个大括号

#如果要删除某个输入框的文字,delete可能不好用,可以试试backspace

用下面的方式可以避免中英文混乱

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(' ')

热键

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的操作‘失效’了。

解决方案的脚本命令

@%windir%\System32\tscon.exe 0 /dest:console

@%windir%\System32\tscon.exe 1 /dest:console

@%windir%\System32\tscon.exe 2 /dest:console

把上面的这个脚本命令保存为.bat批处理文件,放到桌面上,每次想断开远程连接的时候,点击运行即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值