<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          #pyautogui & pyperclip# 基于pyautogui & pyperclip的UI 自動(dòng)

          共 4754字,需瀏覽 10分鐘

           ·

          2023-01-12 12:30

           文章所涉及內(nèi)容更多來自網(wǎng)絡(luò),在此聲明,并感謝知識(shí)的貢獻(xiàn)者!

          pyautogui

          PyAutoGUI簡介:

          pyautogui最方便的地方就是,你不需要去用代碼定位元素,你只需要用截圖就行,例如你要識(shí)別桌面上某個(gè)應(yīng)用,你只需要截圖這個(gè)應(yīng)用,然后通過這個(gè)截圖和當(dāng)前桌面對(duì)比即可找到圖標(biāo)的位置


          pyautogui官網(wǎng):

          https://pyautogui.readthedocs.io/en/latest/



          pyautogui組件:

          鼠標(biāo)、鍵盤、對(duì)話框、屏幕



          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 to display.')

          #模擬鍵盤輸入

          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)功能為True, 這項(xiàng)功能意味著:當(dāng)鼠標(biāo)的指針在屏幕的最左上方,程序會(huì)報(bào)錯(cuò);目的是為了防止程序無法停止

          pyautogui.FAILSAFE =False


          停頓功能

          # 意味著所有pyautogui的指令都要暫停一秒;其他指令不會(huì)停頓;這樣做,可以防止鍵盤鼠標(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è)過程持續(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è)過程持續(xù) 1 秒鐘

          pyautogui.dragRel(100,500,duration=4) # 第一個(gè)參數(shù)是左右移動(dòng)像素值,第二個(gè)是上下


          鼠標(biāo)滾輪

          # 控制鼠標(biāo)滾動(dòng)的函數(shù)是scroll(), 傳入一個(gè)整數(shù)的參數(shù),說明向上或向下滾動(dòng)多少個(gè)單位;單位根據(jù)操作系統(tǒng)不同而不同

          pyautogui.scroll(300) # 向下滾動(dòng)300個(gè)單位;


          pyautogui 鍵盤操作


          鍵盤輸入函數(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 還可以傳入單字母的列表;


          鍵盤事件

          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 CAPS LOCK 鍵

          numlock NUM LOCK 鍵

          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)頁登錄


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

          # 剪貼板上有非空字符串時(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

          瀏覽 41
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一级全黄60分钟免费看 | 淫欲少妇做爱高潮视频 | 麻豆传媒肏逼视频 | 中文字幕一区二区三区四区 | 豆花官网进入免费操逼 |