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






