logo

Kaip sukurti automatinį „Python“ paspaudimą

Kas yra automatinis paspaudimas?

Auto Clicker yra programa, kurioje parašomas tam tikras kodo scenarijus ir pagal kodą, jei kuris nors vartotojas nustato klavišą, paspaudžiamas, tada pelė bus spustelėta automatiškai. „Python“ programoje galime sukurti automatinio paspaudimo projektą naudodami pynput modulį, kurį galima įdiegti pip komanda.

Automatinio paspaudimo kodą galime padalyti į šiuos veiksmus:

kas yra automatiškai prijungta java

1. Reikalingų modulių importavimas

Importuosime laiko ir gijų modulį, o mygtuko, valdiklio modulį importuosime iš pynput pelės submodulio. Tuo pačiu būdu iš pynput klaviatūros submodulio importuosime klausytojo ir klavišo kodo modulius.

Pavyzdys:

 import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode 

2. Kintamųjų inicijavimas

Šiame skyriuje inicijuosime keturis kintamuosius, kurie yra labai naudingi vykdant programą.

    mygtukasKirtis: Šis kintamasis nuspręs, kurią mygtuko pusę norime spustelėti (dešinėje, kairėje ar viduryje).delsos laikas: šis kintamasis apibrėžia laiką tarp dviejų iš eilės paspaudimų.StartStopButton: Šis kintamasis apibrėžia, kuris klavišas arba mygtukas bus naudojamas automatinio paspaudimo projektui pradėti ir sustabdyti.nutraukimo mygtukas: Šis kintamasis apibrėžia mygtuką, kuris bus naudojamas programai užbaigti.

Pavyzdys:

 buttonDirection= Button.right delayTime= 0.001 startStopButton = KeyCode(char='s') terminateButton= KeyCode(char='x') 

3. Klasės kūrimas

Šiame skyriuje sukursime klasę, kuri išplečia gijų klasę, kad patikrintų, ar buvo atliktas pelės paspaudimas, ar ne.

Pavyzdys:

 class ClickTheMouse(threading.Thread): def __init__(self, delayTime, buttonDirection): super(ClickTheMouse, self).__init__() self.delayTime = delayTime self.buttonDirection = buttonDirection self.running = False self.program_running = True 

4. Šiame skyriuje apibrėžsime kai kuriuos metodus, kaip valdyti pelės paspaudimus naudojant gijas iš išorės.

Pavyzdys:

 def startMouseClick(self): self.running = True def stopMouseClick(self): self.running = False def exitScript(self): self.stopMouseClick() self.program_running = False 

5. Šiame skyriuje apibrėžėme metodą, kuris vykdys visą kodą naudojant dvi įdėtas kilpas. Šios kilpos bus nutrauktos, kai kintamieji bus nustatyti į false. Priešingu atveju jie tęs programą.

cast int į eilutę java

Pavyzdys:

 def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1) 

6. Šiame skyriuje sukursime giją, skirtą spustelėjimui pelės, ir tada pradėsime giją.

Pavyzdys:

 mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start() 

7. Tai paskutinis skyrius, kuriame apibrėžiame klaviatūros paspaudimo funkciją. Jei paspaudžiamas bet kuris klavišas, jis perduodamas kaip argumentas šioje funkcijoje ir tikrinamas skirtingais atvejais.

Jei tai yra startStop klavišas, programa bus paleista arba sustabdyta. Jei tai yra baigiamasis raktas, programa bus nutraukta.

Pavyzdys:

 def on_press(key): if key == startStopButton: if clickThread.running: clickThread.stopMouseclick() else: clickThread.startMouseclick() elif key == terminateButton: clickThread.exitScript() listener.stop() with Listener(on_press=on_press) as listener: listener.join() 

Pilnas pavyzdys:

 import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode delayTime = 0.001 buttonDirection = Button.right startStopButton = KeyCode(char='s') terminateButton = KeyCode(char='x') class ClickTheMouse(threading.Thread): def __init__(self, delayTime, buttonDirection): super(ClickTheMouse, self).__init__() self.delayTime = delayTime self.buttonDirection = buttonDirection self.running = False self.program_running = True def startMouseclick(self): self.running = True def stopMouseClick(self): self.running = False def exitScript(self): self.stopMouseClick() self.program_running = False def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1) mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start() def on_press(key): if key == startStopButton: if clickThread.running: clickThread.stopMouseClick() else: clickThread.startMouseclick() elif key == terminateButton: clickThread.exitScript() listener.stop() with Listener(on_press=on_press) as listener: listener.join() 

Paaiškinimas:

Aukščiau pateiktame kode pradžios ir pabaigos klavišus inicijavome kaip „s“, o pabaigos klavišą – kaip „x“. Kai paleidžiame python scenarijų ir įvedame 's', tada automatiškai, kai perkeliame pelę ant ekrano, dešiniuoju pelės klavišu spustelėjame 0,001 sekundės arba vienos milisekundės delsą.

tigrinio liūto skirtumas

Pelės paspaudimo funkcionalumą galime pakeisti 2 skyriuje, kur galime naudoti Button.left arba Button.center atributą, norėdami pakeisti pelės paspaudimo kryptį.

Jei norime lengvai matyti pelės paspaudimą, galime pakeisti delsos laiką į didesnį, kad pamatytume tikrąjį paspaudimą. Šiame kode, kai nejudinsime pelės žymeklio ekrane, tada jis nespaus. Tai veiks tik tada, kai perkelsime žymeklį ekrane.