python模块------pyautogui
生活随笔
收集整理的這篇文章主要介紹了
python模块------pyautogui
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
安裝
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 scon.exe 0 /dest:console @%windir%System32 scon.exe 1 /dest:console @%windir%System32 scon.exe 2 /dest:console 把上面的這個腳本命令保存為.bat批處理文件,放到桌面上,每次想斷開遠程連接的時候,點擊運行即可。
總結
以上是生活随笔為你收集整理的python模块------pyautogui的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Gensim进阶教程:训练word2ve
- 下一篇: vue生命周期钩子函数