最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Python中鍵盤鼠標的相關(guān)操作

 更新時間:2023年01月03日 16:15:41   作者:??????  
pyautogui模塊,規(guī)范一點大寫就是PyAutoGUI模塊,是用來實現(xiàn)自動化腳本的一個十分得力的小助手。他可以操控鍵盤和鼠標,可以寫許多工具。本文就來講講如何利用這個模塊實現(xiàn)鍵盤鼠標的相關(guān)操作,需要的可以參考一下

一、前言

恭喜你,學明白類,你已經(jīng)學會所有基本知識了。

這章算是一個娛樂篇,十分簡單,了解一下pyautogui模塊,這算是比較好學還趣味性十足的,而且可以做許多小程序。

本文會對ptautogui模塊進行詳細的學習and講解。寫作不易,支持一波~

二、pyautogui模塊

pyautogui模塊,規(guī)范一點大寫就是PyAutoGUI模塊,是用來實現(xiàn)自動化腳本的一個十分得力的小助手。他可以操控鍵盤和鼠標,可以寫許多工具。

安裝的話就用我們?nèi)f能的pip包,相信大家已經(jīng)安裝過了,沒安裝的話網(wǎng)上有許多教程可以學。

win+R,輸入cmd,再輸入:

pip install pyautogui

你就安裝成功了。之后可以輸入import pyautogui,沒報錯就是成功。

接下來,我們就可以玩轉(zhuǎn)鼠標和鍵盤了。模塊名字比較長,建議用as取一個別名,但可別取成py啊。

三、鼠標相關(guān)操作

1、鼠標移動

我們先學習鼠標移動的相關(guān)。first了解一下計算機的坐標系統(tǒng)。

計算機顯示器的分辨率一般是1920x1080,有的不一樣,我們用size函數(shù)來獲取用戶顯示器的分辨率。他會返回兩個值,要用兩個變量保存。

import pyautogui as gui
a,b=gui.size()
print(a,b)

輸出:1920 1080(根據(jù)用戶顯示器大小而定寬度、長度)

注意,就算是分辨率我們也要用“減一”原則,例如你的顯示器寬度1920,那么最左邊是0,最右邊是1919,1920就越界了。

如果我們想讓鼠標移動,就要用moveTo,注意T是大寫。他可以填入兩個參數(shù):移動地點的x坐標,y坐標。

import pyautogui as gui
gui.moveTo(1919,1079)

這個程序可以讓鼠標瞬移到右下角,是不是很nb?

還可以填第三個參數(shù),是移動所需要的時間,默認0秒。

注意:在鼠標移動的過程中,要是移動鼠標他會給你拉回原位置,相當于固定住了,所以把時間調(diào)長容易直接動不了,非常的難受。

這里,教給大家一個東西。pyautogui模塊里面自帶了神奇的變量:FAILSAFE,默認為True。當這個變量為True時,如果鼠標控制不了了,你就使勁往左上角拉,程序就會報錯。

import pyautogui as gui
gui.FAILSAFE =True
gui.moveTo(1919,1079,5)

這段代碼鼠標會移動到右下角,如果在這個過程中使勁往左上角拉就會報錯。

接下來,我們就可以做一個簡單的小程序——鼠標操控術(shù)。

import pyautogui as gui
import random as r
gui.FAILSAFE =True
a=0
print("嘎嘎嘎你的鼠標被我 操控了")
while a<=100:
    gui.moveTo(r.randint(1,1919),r.randint(1,1079))
    a+=1

這個程序運行后,會把你的鼠標隨機移動到任意地方100次。

你可以自己調(diào)整循環(huán)次數(shù)來整你的好友,前提是他的電腦要有python。

我們把FAILSAFE設(shè)置為了True,控制不住的時候就使勁往左上移動就行,要是想整蠱好友就設(shè)置成False。好玩不?

另外,如果想在原有基礎(chǔ)上移動,就用move。

import pyautogui
pyautogui.move(100,100,2)

例如這個程序,會花2秒將鼠標往右移動100格,往下移動100格。 

2、獲取鼠標位置

之后是position()函數(shù),可以獲取當前鼠標的位置。

import pyautogui as gui
import time
while True:
    print(gui.position())
    time.sleep(1)

這個程序可以隔1秒輸出一次你的鼠標的位置。

3、鼠標點擊

如果要讓鼠標點擊,就要用click函數(shù)。

pyautogui.click(0,0,button='left') 
pyautogui.click(0,0,button='right') 
pyautogui.click(0,0,button='middle') 

前兩個值還是點擊的xy坐標,第三個值是點擊的鍵,記住要用關(guān)鍵字參數(shù)的形式,left是左鍵,right是右鍵,middle是中鍵。這個程序是分別用左鍵右鍵中鍵點擊左上角。

如果要雙擊左鍵,用doubleClick,雙擊右鍵用rightClick,雙擊中鍵用middleClick。他們?nèi)齻€用法相近,還是要填xy坐標。

pyautogui.doubleClick(10,10)
pyautogui.rightClick(10,10)
pyautogui.middleClick(10,10)

運行之后會在10,10的位置雙擊左鍵,雙擊右鍵,雙擊中鍵。

4、按松鼠標

如果我們要按松鼠標就要用mouseDown和mouseUp,mouseDown是按下,mouseUp是松開。

import pyautogui as gui
from time import sleep
print("落下")
gui.mouseDown()
sleep(1)
gui.mouseUp()
print("松開")

這個程序會先按下鼠標,等一秒松開。

5、拖動窗口

要拖動一個窗口,如果想移動到一個位置用dragTo,還是兩個參數(shù)為xy坐標,第三個參數(shù)為時間,默認為0。

import pyautogui as gui
gui.dragTo(0,0,3)

這個程序會把按住的窗口用3秒拖動到左上角。

如果想在原位置的基礎(chǔ)上移動用dragRel,前兩個參數(shù)為要往右移動多少和往下移動多少,第三個參數(shù)為時間。

import pyautogui as gui
gui.dragRel(200,0,3)

這個程序會把按住的窗口用三秒時間往右移動200像素。

同樣,還有一個drag,因為網(wǎng)上我也沒查到相關(guān)資料,自己試驗出來的效果···好像和dragRel一樣?我也不知道咋回事,如果有人知道請在評論區(qū)指出,謝謝配合。

6、上下滑動

如果想上下滑動(就是移動滾輪),就要用scroll,要填一個參數(shù),為移動的格數(shù),默認是往上滑,加上-負號是往下滑。注意,滑動的時候鼠標必須停留在那個窗口上否則沒用。

import pyautogui as gui
gui.scroll(-200)

這個程序會在鼠標停留頁面往下滑動200格。

7、小程序——鼠標操控術(shù)2.0

鼠標的用法就是這么多了。他可以做很多的自動化程序。

現(xiàn)在,讓我們把剛才操控鼠標的程序完善一下。

import pyautogui as gui
import random as r
gui.FAILSAFE =True
a=0
print("嘎嘎嘎你的鼠標被我 操控了")
while a<=100:
    b=r.randint(1,3)
    if b==1:
        gui.moveTo(r.randint(1,1919),r.randint(1,1079))
    if b==2:
        gui.click(r.randint(1,1919),r.randint(1,1079),button='left')
    if b==3:
        gui.dragTo(r.randint(1,1919),r.randint(1,1079))
    a+=1

這個程序還會在原有的基礎(chǔ)上亂點,滑動,整蠱好友的時候別忘了改成False哦~

8、小程序——連點器

接下來,讓我們嘗試做一個連點器。

import pyautogui as gui#導入pyautogui模塊
from time import sleep#導入time中的sleep函數(shù)
gui.SAILSAFE=True#開啟安全功能
a=int(input("要點擊幾次?"))#獲取點擊次數(shù)
print("5秒后程序?qū)⑦\行,請將光標懸浮于連點界面上,如果控制不住鼠標請把鼠標往左上角滑動")#提示
sleep(5)#預留時間
x,y=gui.position()#獲取鼠標坐標
for i in range(a):#重復執(zhí)行
    gui.click(x,y)#點擊
print("連點結(jié)束")#提示

效果:

 加上我的手速也才點了這么多,python還是太慢了,但也滿足需求了。

四、鍵盤相關(guān)操作

接下來是鍵盤的相關(guān)操作。

1、按鍵的按松

按鍵按下,用keyDown,按鍵起來用keyUp,這倆要配合起來用。

import pyautogui as gui
gui.keyDown("shift")
gui.keyUp("shift")

這個程序就是按下松開一次shift。

要是不想多打字就用press,它就相當于同時調(diào)用keyDown和keyUp。

import pyautogui as gui
gui.press("shift")

他與上一個程序效果一樣。

如果想按多個鍵就用列表給他包起來就行了。

import pyautogui as gui
gui.press(['a','left','b'])

這個程序會按a,再按左鍵,再按b,之后就相當于按了ba。

2、鍵入字符串

最好用的是typewrite,就是輸入一個字符串。注意:一定要確保光標位置,不然沒有用。

import pyautogui as gui
gui.typewrite('666')

這個程序會在指定位置輸入666。注意:typewrite只能輸入英文,中文不起作用。

typewrite如果后面再放一個參數(shù),就代表輸入每一個字母的間隔時間。

import pyautogui as gui
gui.typewrite('python',1)

這個程序運行之后,會隔1秒輸入1個字符,輸出完python一共要5秒。

是不是很厲害?

它還可以放在列表里來輸出多個字符串,例如這個程序:

import pyautogui as gui
gui.typewrite(['a','left','b'])

注意:這里的left可是左方向鍵的意思,程序會把他轉(zhuǎn)換,他會鍵入ba。

有人問了:typewrite和press有啥區(qū)別???

沒認真看吧?typewrite的意思是輸入字符串,press是敲擊鍵盤。left只是在typewrite里面會發(fā)生轉(zhuǎn)義,轉(zhuǎn)義知不知道?

3、熱鍵

還有一個有用的函數(shù),是hotkey,就是熱鍵,快捷鍵,放上按鍵就能完成一次快捷鍵。

import pyautogui as gui
gui.hotkey('alt','tab')

這個程序運行之后會按下alt+tab,是不是很實用?

OK,鍵盤操作的學習就這么多了。是不是很簡單?全是干貨建議收藏。

4、小程序——轟炸器

接下來是一個小程序:轟炸器,幫你把網(wǎng)絡(luò)噴子治得服服帖帖。

import pyautogui as gui#導入PyAutoGUI模塊
import time#導入時間模塊
print("三秒之后,程序?qū)M行轟炸,請復制自己的轟炸文本,做好心理準備")#提示
time.sleep(3)#預留時間切換界面
a=0#初始化變量
while a<100:#重復100次
    a+=1#a自增
    gui.hotkey('ctrl','v')#按下ctrl+v
    gui.hotkey('ctrl','enter')#按下ctrl+enter
    time.sleep(0.3)#等待0.3秒

這里面,循環(huán)次數(shù)、等待時間是可以根據(jù)情況改變的。

當程序運行之后,復制轟炸內(nèi)容,把光標點到你要轟炸的那個界面做好等待就行。

運行效果:

再進行一下隨機話語的功能。

import pyautogui as gui#導入PyAutoGUI模塊并起名gui
from time import sleep#導入時間模塊里面的sleep
from random import randint#導入隨機數(shù)模塊里面的randint
print("三秒之后,程序?qū)M行轟炸,做好心理準備")#提示
sleep(3)#預留時間切換界面
a=0#初始化變量
while a<100:#重復100次
    a+=1#a自增
    c=randint(1,3)#設(shè)置隨機數(shù)
    if c==1:#如果c是1
        gui.press(['s','h','a','b','i','1'])#就輸入《優(yōu)美的中國話》
    elif c==2:#如果c是2
        gui.press(['c','a','o','n','i','m','a','1'])#就輸入《還是優(yōu)美的中國話》
    else:#如果c是3
        gui.press(['g','u','n','n','i','m','a','1'])#就輸入《十分優(yōu)美的中國話》
    gui.hotkey('ctrl','enter')#按下ctrl+enter
    sleep(0.3)#等待0.3秒

這些話語可以調(diào)整,拿c=1的情況舉例,這時候就會敲擊鍵盤上的shabi,之后按1就完成了。要不是typewrite不能整中文還能更簡便。注意運行的時候把輸入法改回中文。

運行效果:

 (希望圖片能顯示)在使用之前最好訓練一下自己的輸入法,不然輸出可能不對,但大部分輸入法都是可以固定首位的:

 這樣就不會出現(xiàn)輸入錯誤的情況了,就算不能固定首位意思也大抵不會差。

以后遇到網(wǎng)絡(luò)噴子,就用代碼回擊他好吧。

5、小程序——520個我愛你

我們還可以完成現(xiàn)在很火的發(fā)送520個我愛你。

import pyautogui as gui#導入PyAutoGUI模塊并起名gui
from time import sleep#導入時間模塊里面的sleep
sleep(3)#預留時間切換界面
a=0#初始化變量
while a<=520:#重復520次
    a+=1#a自增
    gui.press(['w','o','a','i','n','i','1'])#敲擊woaini,選擇第一項來輸入“我愛你“
    gui.typewrite(str(a))#鍵入字符串a(chǎn)
    gui.press('enter')#敲擊enter
gui.hotkey('ctrl','enter')#打字完畢ctrl+enter發(fā)送
python還是有點慢了,可以耐心等等。

效果:

五、尾聲

PyAutoGUI模塊是一個很好用也很好玩的自動化程序輔助,可以做出來許多自動化小程序,還是很好玩的。

學完基礎(chǔ)的知識,就要和模塊打交道了。這就是你學習的第一個模塊。

以上就是詳解Python中鍵盤鼠標的相關(guān)操作的詳細內(nèi)容,更多關(guān)于Python鍵盤鼠標操作的資料請關(guān)注腳本之家其它相關(guān)文章

相關(guān)文章

  • Python2.X/Python3.X中urllib庫區(qū)別講解

    Python2.X/Python3.X中urllib庫區(qū)別講解

    本篇文章通過對比給大家詳細講解了在Python2和Python3中urllib庫區(qū)別以及用法講解,有需要的朋友跟著學習下吧。
    2017-12-12
  • python編程學習np.float 被刪除的問題解析

    python編程學習np.float 被刪除的問題解析

    這篇文章主要為大家介紹了python編程學習np.float 被刪除的問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Python利用PyPDF2庫實現(xiàn)輕松提取PDF文本

    Python利用PyPDF2庫實現(xiàn)輕松提取PDF文本

    ython中的PyPDF2庫是一個非常有用的工具,無論您是需要分析PDF文檔中的內(nèi)容還是需要在文檔中搜索特定的信息,PyPDF2都可以幫助您輕松實現(xiàn)這些任務(wù),下面我們就來學習一下如何利用PyPDF2提取PDF文本吧
    2023-09-09
  • Python Tornado核心及相關(guān)原理詳解

    Python Tornado核心及相關(guān)原理詳解

    這篇文章主要介紹了Python Tornado核心及相關(guān)原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • win10下安裝Anaconda的教程(python環(huán)境+jupyter_notebook)

    win10下安裝Anaconda的教程(python環(huán)境+jupyter_notebook)

    Anaconda指的是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學包及其依賴項。這篇文章主要介紹了win10下安裝Anaconda(python環(huán)境+jupyter_notebook),需要的朋友可以參考下
    2019-10-10
  • 在django中,關(guān)于session的通用設(shè)置方法

    在django中,關(guān)于session的通用設(shè)置方法

    今天小編就為大家分享一篇在django中,關(guān)于session的通用設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 詳解Python如何優(yōu)雅地解析命令行

    詳解Python如何優(yōu)雅地解析命令行

    隨著我們編程經(jīng)驗的增長,對命令行的熟悉程度日漸加深,想來很多人會漸漸地體會到使用命令行帶來的高效率。本文將介紹Python解析命令行的兩種方法,需要的可以參考一下
    2022-06-06
  • Python文件路徑模式匹配glob模塊使用詳解

    Python文件路徑模式匹配glob模塊使用詳解

    這篇文章主要介紹了Python文件路徑模式匹配glob模塊使用的相關(guān)資料,glob模塊是Python中用于文件和目錄查找的工具,支持使用通配符進行模糊匹配,它可以處理簡單的文件名模式,并通過glob和iglob兩個函數(shù)實現(xiàn)文件路徑的模式匹配,需要的朋友可以參考下
    2025-04-04
  • Python+tkinter實現(xiàn)樹形圖繪制

    Python+tkinter實現(xiàn)樹形圖繪制

    Treeview是ttk中的樹形表組件,功能十分強大,非常適用于系統(tǒng)路徑的表達,下面我們就來看看如何利用這一組件實現(xiàn)樹形圖的繪制吧,有需要的可以參考下
    2023-09-09
  • Flask模板渲染與Get和Post請求詳細介紹

    Flask模板渲染與Get和Post請求詳細介紹

    這篇文章主要介紹了Flask模板渲染與Get和Post請求,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-09-09

最新評論

襄城县| 福鼎市| 桃园市| 靖边县| 武汉市| 米泉市| 缙云县| 阿鲁科尔沁旗| 友谊县| 宝丰县| 吐鲁番市| 永善县| 安平县| 嘉荫县| 东乌珠穆沁旗| 绍兴市| 永州市| 增城市| 阳谷县| 蕉岭县| 偃师市| 常宁市| 大同县| 天津市| 任丘市| 神农架林区| 新竹县| 虞城县| 大同市| 益阳市| 尼勒克县| 皮山县| 绩溪县| 浦县| 崇阳县| 茌平县| 岳普湖县| 永登县| 鹤山市| 遂昌县| 邓州市|