“文章所涉及內(nèi)容更多來自網(wǎng)絡(luò),在此聲明,并感謝知識的貢獻(xiàn)者!”
pyautogui—PyAutoGUI簡介:
【資料圖】
pyautogui最方便的地方就是,你不需要去用代碼定位元素,你只需要用截圖就行,例如你要識別桌面上某個應(yīng)用,你只需要截圖這個應(yīng)用,然后通過這個截圖和當(dāng)前桌面對比即可找到圖標(biāo)的位置
pyautogui官網(wǎng):
https://pyautogui.readthedocs.io/en/latest/
pyautogui組件:
鼠標(biāo)、鍵盤、對話框、屏幕
Pyautogui教程:
import pyautogui as auto
import pyperclip
import time
#獲取屏幕大小
screen_width,screen_height=auto.size()
#獲取鼠標(biāo)位置(X,Y)
mouse_x,mouse_y=auto.position()
#根據(jù)坐標(biāo)系移動鼠標(biāo)
auto.moveTo(100,150)
#點擊鼠標(biāo)
auto.click()
#根據(jù)坐標(biāo)系點擊鼠標(biāo)
auto.click(100,150)
#尋找屏幕上的圖片并進(jìn)行點擊
auto.click("button.png")
#根據(jù)像素移動
auto.move(400,0)
#雙擊鼠標(biāo)
auto.doubleClick()
#點擊ESC鍵
auto.press("esc")
#按下shift鍵的同時,連按左鍵四下
with auto.hold("shift"):
auto.press(["left","left","left","left"])
#按下快捷鍵
auto.hotkey("ctrl","c")
#彈出窗口
auto.alert("This is the message todisplay.")
#模擬鍵盤輸入
pyautogui.write("Hello world!",interval=0.25)
#按壓鼠標(biāo)拖拽
while distance > 0:
pyautogui.drag(distance, 0, duration=0.5) # move right
distance -= 5
pyautogui.drag(0, distance, duration=0.5) # move down
pyautogui.drag(-distance, 0, duration=0.5) # move left
distance -= 5
pyautogui.drag(0,-distance, duration=0.5) # move up
pyautogui 前置操作—
自動防故障功能
# 默認(rèn)這項功能為True, 這項功能意味著:當(dāng)鼠標(biāo)的指針在屏幕的最左上方,程序會報錯;目的是為了防止程序無法停止
pyautogui.FAILSAFE =False
停頓功能
# 意味著所有pyautogui的指令都要暫停一秒;其他指令不會停頓;這樣做,可以防止鍵盤鼠標(biāo)操作太快;
pyautogui.PAUSE = 1
pyautogui 鼠標(biāo)操作—
獲取屏幕分辨率
print(pyautogui.size()) # 返回所用顯示器的分辨率;輸出:Size(width=1920,height=1080)
width,height = pyautogui.size()
print(width,height) # 1920 1080
移動到指定位置
# 將鼠標(biāo)移動到指定的坐標(biāo);duration的作用是設(shè)置移動時間,所有的gui函數(shù)都有這個參數(shù),而且都是可選參數(shù);
# 向右移動100px,向下移動500px, 這個過程持續(xù) 1 秒鐘;
pyautogui.moveTo(100,300,duration=1)
獲取鼠標(biāo)位置
print(pyautogui.position()) # 得到當(dāng)前鼠標(biāo)位置;輸出:Point(x=200,y=800)
鼠標(biāo)單擊
# 點擊鼠標(biāo)
pyautogui.click(10,10) # 鼠標(biāo)點擊指定位置,默認(rèn)左鍵
pyautogui.click(10,10,button="left") # 單擊左鍵
pyautogui.click(1000,300,button="right") # 單擊右鍵
pyautogui.click(1000,300,button="middle") # 單擊中間
鼠標(biāo)雙擊
pyautogui.doubleClick(10,10) # 指定位置,雙擊左鍵
pyautogui.rightClick(10,10) # 指定位置,雙擊右鍵
pyautogui.middleClick(10,10) # 指定位置,雙擊中鍵
鼠標(biāo)點擊與釋放
pyautogui.mouseDown() # 鼠標(biāo)按下
pyautogui.mouseUp() # 鼠標(biāo)釋放
鼠標(biāo)控制拖動事件
# 拖動到指定位置
# 將鼠標(biāo)拖動到指定的坐標(biāo);duration的作用是設(shè)置移動時間,所有的gui函數(shù)都有這個參數(shù),而且都是可選參數(shù)
pyautogui.dragTo(100,300,duration=1)
# 按方向拖動
# 向右拖動100px,向下拖動500px, 這個過程持續(xù) 1 秒鐘
pyautogui.dragRel(100,500,duration=4) # 第一個參數(shù)是左右移動像素值,第二個是上下
鼠標(biāo)滾輪
# 控制鼠標(biāo)滾動的函數(shù)是scroll(),傳入一個整數(shù)的參數(shù),說明向上或向下滾動多少個單位;單位根據(jù)操作系統(tǒng)不同而不同
pyautogui.scroll(300) # 向下滾動300個單位;
pyautogui 鍵盤操作—
鍵盤輸入函數(shù)
-pyautogui.keyDown() :模擬按鍵按下;
-pyautogui.keyUp() :模擬按鍵釋放;
-pyautogui.press() :# 就是調(diào)用keyDown() & keyUp(),模擬一次按鍵;
-pyautogui.typewrite("this",0.5) :第一參數(shù)是輸入內(nèi)容,第二個參數(shù)是每個字符間的間隔時間;
-pyautogui.typewrite(["T","h","i","s"]):typewrite 還可以傳入單字母的列表;
鍵盤事件
pyautogui.keyDown("shift") # 按下shift
pyautogui.press("4") # 按下 4
pyautogui.keyUp("shift") # 釋放 shift
緩慢輸出
pyautogui.typewrite("$*……%……¥", 0.5)
鍵盤特殊順序輸出
pyautogui.typewrite(["T","i","s","left","left","h",]) # 輸出:This
特殊按鍵說明
鍵盤字符串 說明
enter(或return 或 \n) 回車
esc ESC鍵
shiftleft, shiftright 左右SHIFT鍵
altleft, altright 左右ALT鍵
ctrlleft, ctrlright 左右CTRL鍵
tab (\t) TAB鍵
backspace, delete BACKSPACE 、DELETE鍵
pageup, pagedown PAGE UP 和 PAGE DOWN鍵
home, end HOME和 END鍵
up, down, left,right 箭頭鍵
f1, f2, f3…. f12 F1…….F12鍵
volumemute, volumedown,volumeup 聲音變大變小靜音(有些鍵盤沒有)
pause PAUSE鍵,暫停鍵
capslock CAPSLOCK 鍵
numlock NUMLOCK 鍵
scrolllock SCROLLLOCK鍵
insert INSERT鍵
printscreen PRINT SCREEN鍵
winleft, winright Win鍵(windows )
command command鍵(Mac OS X )
option option(Mac OS X)
快捷鍵
pyautogui.hotkey("ctrl","c")
pyautogui 屏幕操作—
獲取屏幕分辨率
print(pyautogui.size()) # 返回所用顯示器的分辨率;輸出:Size(width=1920,height=1080)
width,height = pyautogui.size()
print(width,height) # 1920 1080
屏幕截圖
pyautogui 提供了一個方法screenshot(),可以返回一個Pillow的image對象
im = pyautogui.screenshot() # 返回屏幕的截圖,是一個Pillow的image對象
im.getpixel((500, 500)) # 返回im對象上,(500,500)這一點像素的顏色,是一個RGB元組
pyautogui.pixelMatchesColor(500,500,(12,120,400))# 是一個對比函數(shù),對比的是屏幕上(500,500)這一點像素的顏色,與所給的元素是否相同;
im = pyautogui.screenshot() # 返回屏幕的截圖,是一個Pillow的image對象
im.getpixel((500, 500)) # 返回im對象上,(500,500)這一點像素的顏色,是一個RGB元組
pyautogui.pixelMatchesColor(500,500,(12,120,400))# 是一個對比函數(shù),對比的是屏幕上(500,500)這一點像素的顏色,與所給的元素是否相同;
pyautogui 網(wǎng)頁登錄—
pyautogui 網(wǎng)頁登錄
https://blog.csdn.net/m0_56238419/article/details/127697645
pyperclip—
pyperclip簡介:
1. 可以復(fù)制剪貼板內(nèi)容
2. 可以向剪貼板寫入內(nèi)容
Pyperclip教程:
import pyperclip
# 將文本復(fù)制到剪貼板
pyperclip.copy("哈嘍")
# 從剪貼板粘貼文本
pyperclip.paste()
# 剪貼板上有非空字符串時返回字符串
import pyperclip
a = pyperclip.waitForPaste(5)
print(a)
# 剪貼板上有文本被更改時傳返回值
pyperclip.copy("original text")
a = pyperclip.waitForNewPaste(5)
print(a)
參考資料—
參考資料
https://www.jb51.net/article/209694.htm
https://zhuanlan.zhihu.com/p/410967443
https://www.jb51.net/article/251803.htm
https://www.cnblogs.com/yuruhao/p/14634401.html
http://www.yuyanba.com/default.aspx/did92862
https://blog.csdn.net/pythonuser1/article/details/125986205
https://blog.csdn.net/weixin_45122104/article/details/125957915
http://t.zoukankan.com/LM791605490-p-10245807.html
標(biāo)簽: 指定位置 點擊鼠標(biāo) 模擬按鍵
- 世界觀焦點:智慧醫(yī)療”能夠?qū)崿F(xiàn)醫(yī)療管理和服... 2022-12-15 18:29:15
- 【全球速看料】pr視頻軟件如何學(xué)習(xí)(pr視頻軟... 2022-12-15 18:29:15
- 當(dāng)前時訊:哥倫比亞廣播公司推出幽靈之夏 2022-12-15 18:29:15
- 環(huán)球觀熱點:不愿給電池廠打工 多車企投錢自... 2022-12-15 18:29:15
- 網(wǎng)紅“減肥針”不是想打就能打 2023-04-23 08:58:36
- 每日速看!萬商云集“鏈”全球 2023-04-23 09:18:34
- 世界熱點!中國援喀麥隆雅溫得醫(yī)療分隊舉行義診 2023-04-23 08:53:03
- 快船主場輸38個罰球,船記:威少籃下17投零罰... 2023-04-23 08:37:01
- 每日頭條!word裁剪圖片形狀為正五邊形(word裁... 2023-04-23 08:27:09
- 消息!閑魚上怎么賺錢(閑魚怎么賺錢) 2023-04-23 08:23:02
- 大姨媽不能碰的12種食物_來大姨媽能吃菠蘿嗎 ... 2023-04-23 08:06:52
- 追夢解禁后加強與其身體對抗?小薩:不會 還... 2023-04-23 07:54:26
- 第28個世界讀書日|作為文化富礦的山東,還有... 2023-04-23 07:28:32
- 牛黃解毒片的功效與作用_牛黃清心丸的功效與作用 2023-04-23 07:07:19
- 有代溝什么意思_代溝什么意思_世界訊息 2023-04-23 07:07:14
- 世界微資訊!精選30余款菜肴推薦,時令食材搭... 2023-04-23 06:35:55
- 模擬經(jīng)營、現(xiàn)場互動,蘇州市相城區(qū)創(chuàng)業(yè)培訓(xùn)班... 2023-04-23 06:13:13
- 世界消息!車子碰撞保險公司怎么理賠的 2023-04-23 06:13:59
- 世界頭條:2023五一天津解放橋怎么去?坐地鐵... 2023-04-23 06:05:42
- 2023天津解放橋開橋時間是幾點到幾點 2023-04-23 06:21:13
- 每日視點!2023五一假期天津解放橋開橋只有5月... 2023-04-23 06:15:51
- 2023天津五一海河游船船票開售時間(附購票入... 2023-04-23 06:05:56
- 法師多肉可以露天養(yǎng)嗎 春夏之交帶錦的法師還... 2023-04-23 05:57:59
- 全球即時看!A股:這輪下跌或會持續(xù)很長時間 2023-04-23 06:01:07
- 塵世羈滄海月明完整版_塵世羈 2023-04-23 05:00:21
- 【熱聞】4月21號后要準(zhǔn)備2644點券?公孫離機甲... 2023-04-23 05:14:23
- 白鱗鮭魚食譜_新鮮的白鱗鮭魚在哪釣_當(dāng)前看點 2023-04-23 04:31:05
- 全球快看:羅伊斯好慘一男的,續(xù)約一事懸而未... 2023-04-23 04:37:17
- 落雁沉魚_關(guān)于落雁沉魚的簡介 2023-04-23 03:57:06
- 世界速讀:無良商人的再度抉擇,預(yù)告 2023-04-23 03:44:24
- 這群學(xué)生體驗“農(nóng)人”生活,在希望的田野耕耘未來 2023-04-23 03:28:18
- 三朝北盟會編點校本(三朝北盟會編) 2023-04-23 03:08:30
- 2023上海車展:全新林肯航海家上市 32.88-37.88萬元 2023-04-23 02:53:34
- 來到非凡時代攻是誰-來到非凡時代 2023-04-23 02:18:20