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

          擊敗無聊的辦公室重復(fù)操作,用 Python 控制鼠標(biāo)和鍵盤

          共 1644字,需瀏覽 4分鐘

           ·

          2020-03-26 23:28

          作者 |?小帥b
          來源 | 學(xué)習(xí)python的正確姿勢


          還在為需要在電腦做一些重復(fù)的點(diǎn)擊或者提交表單等操作而苦惱嗎?

          a06edd26795feda505ad3ed4a0c550f9.webp


          如果告訴你能通過 Python 預(yù)先寫好相關(guān)的操作指令,讓它幫你操作鼠標(biāo)和鍵盤,而你翹著二郎腿和妹子聊著天豈不是美滋滋?

          81a7881cde2621bfcccd961061f80ad7.webp


          一、pyautogui

          我們可以先安裝一下 pyautogui 這個庫,通過它你就可以寫一些 Python 腳本來控制你的鼠標(biāo)和鍵盤了,比如你可以定義鼠標(biāo)在哪個位置點(diǎn)擊,定義鍵盤在什么時候輸入什么內(nèi)容等,從而達(dá)到自動化操作所有你想要操作的軟件應(yīng)用,值得說的一點(diǎn)是,他可以運(yùn)行在 Win、MacOS、Linux平臺上。

          你可以通過 pip 進(jìn)行安裝:
          python3?-m?pip?install?pyautogui

          源碼:https://github.com/asweigart/pyautogui
          pip主頁:https://pypi.org/project/PyAutoGUI/


          二、操作鼠標(biāo)
          安裝完之后,就可以使用它了,比如我們現(xiàn)在想要知道鼠標(biāo)的位置就可以通過 position 方法獲?。?br />b57db082dd236f0c1be36bc92e201504.webp
          也可以寫一個方法來實(shí)時獲取鼠標(biāo)的位置:5c048cb47869cbe0422ba2afed175724.webp
          通過 while 循環(huán)不斷監(jiān)聽鼠標(biāo)當(dāng)前的位置,運(yùn)行一波就是這樣:13db25d1ab97f1dde74a739092962fd5.webp
          想要調(diào)用鼠標(biāo)的點(diǎn)擊方法可以這樣:
          單擊:
          >>> pyautogui.click()

          右擊:
          >>> pyautogui.click(button='right')

          雙擊:
          >>> pyautogui.doubleClick()

          比如現(xiàn)在我的桌面有一張帥照:
          70265cdb2437c9d2aee1cb5e0b53fe06.webp
          想使用 Python 來操作鼠標(biāo)去打開它,那么就可以這樣,把鼠標(biāo)輕輕的放在帥照上面,然后獲取一下鼠標(biāo)在這個位置的坐標(biāo):

          7261e06c2d225e894c337bebf1671659.webp
          可以發(fā)現(xiàn)這張照片的位置是在 (74,197),那么就可以調(diào)用鼠標(biāo)的雙擊方法:
          ae8db09a9aae38e2d251b8ea7a723abb.webp
          我們在 doubleClick 方法中傳入了坐標(biāo)位置,所以它可以將鼠標(biāo)移動的位置進(jìn)行雙擊。
          當(dāng)然,你也可以調(diào)用 moveTo 方法來移動鼠標(biāo),比如讓鼠標(biāo)移動到 100,200 的位置就可以這樣:

          pg.moveTo(100,200,2)fd2097fcd21c92821259117c3a83e629.webp
          這里的 2 是移動秒數(shù)的意思,默認(rèn)為 0.1 ,快速移動的那種。
          想要拖拽鼠標(biāo),可以調(diào)用 dragTo 方法,比如:
          pg.dragTo(300, 400, 2, button='left')
          b9a8e4bd3d1ddf88bd8df469fab80a27.webp

          表示的是從當(dāng)前位置拖動到指定坐標(biāo)的位置,其中的 2 代表移動時間,button 可以設(shè)置是左鍵還是右鍵。
          d40511edc550558793b485e14009711a.webp


          三、操作鍵盤
          接著我們來操作鍵盤

          可以同過 press 來調(diào)用鍵盤的操作,比如:
          按下回車:
          >>> pyautogui.press('enter')

          按下左鍵:
          >>> pyautogui.press('left')

          按下 CTRL:
          >>> pyautogui.press('ctrl')

          快捷鍵的話可以使用 hotkey 方法,比如:

          按下 Ctrl + Shift + T:
          >>> pyautogui.hotkey('ctrl', 'shift', 't')

          復(fù)制:>>> pyautogui.hotkey('ctrl', 'c')
          按住不動可以使用 keyDown 方法,釋放按鍵可以使用 keyUp 方法,比如:

          切換窗口:
          ed917d84c880c400e3a86b4de5ed3d95.webp

          運(yùn)行一波就是這樣:cd57cc218e15394bf0b876cc77070e6f.webp
          剛剛的 pg.PAUSE=1 指的是每隔一秒執(zhí)行一個操作指令。

          想要控制鍵盤輸入內(nèi)容,可以使用 write 方法,比如:

          輸入 fxxkpython:
          pg.write('fxxk Python !', interval=0.3)56fa4480a6ab7816c7ed4de0ecbf69a8.webp


          四、案例

          知道了這些你就可以去玩一些有意思的事了,舉幾個簡單的例子給你樂呵樂呵。
          比如指定它去瀏覽器搜索內(nèi)容e8fd844fa2637f50d5987b20e911025e.webp
          運(yùn)行一波就是這樣:
          8eb1f5318ce0b01b465ee48cd1b3c7ad.webp
          是不是有點(diǎn) selenium 的內(nèi)味了。



          又比如操作它去微信聊天
          3dcbdd4302e7cec3ee33eab9044d5e8c.webp
          運(yùn)行一波:
          37197b94223f0c6d1506fd2176180c07.webp


          再舉一個官方的例子,你可以讓它去畫圖d00ec02d7682b6fe94a1dea6266b18bb.webp
          運(yùn)行一波就是這樣:
          3edf68955d9cd59c9762a641b6fc0b54.webp

          ok,以上就是小帥b今天給你帶來的分享,看完這個,自動填寫表單啥的不在話下了吧?希望對你有幫助,那么我們下回見,peace!


          瀏覽 124
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  青娱乐-亚洲高清视频在线观看 | 豆花精品无码 | 91aigaogao | 黄页网站免费在线观看 | 苏畅md一区二区三区在线观看 |