欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python實(shí)現(xiàn)自動(dòng)點(diǎn)擊器

 更新時(shí)間:2023年10月27日 07:40:06   作者:跡憶客  
顧名思義,Python 中的自動(dòng)點(diǎn)擊器是一個(gè)簡(jiǎn)單的 Python 應(yīng)用程序,它根據(jù)用戶要求重復(fù)單擊鼠標(biāo), 不同的參數(shù)可以根據(jù)用戶進(jìn)行更改,下面我們就來(lái)看看具體實(shí)現(xiàn)方法吧

顧名思義,Python 中的自動(dòng)點(diǎn)擊器是一個(gè)簡(jiǎn)單的 Python 應(yīng)用程序,它根據(jù)用戶要求重復(fù)單擊鼠標(biāo)。 不同的參數(shù),如速度、頻率和位置,可以根據(jù)用戶進(jìn)行更改。

Python 有不同的模塊可用于控制鍵盤(pán)、鼠標(biāo)等設(shè)備。因此,我們可以使用這些模塊輕松地在 Python 中創(chuàng)建自動(dòng)點(diǎn)擊器。

本篇文章將介紹在 Python 中創(chuàng)建自動(dòng)答題器的不同方法。

使用 pyautogui 模塊在 Python 中創(chuàng)建自動(dòng)點(diǎn)擊器

pyautogui 模塊可以創(chuàng)建控制設(shè)備的鼠標(biāo)和鍵盤(pán)的腳本。

我們可以使用 pyautogui.click() 函數(shù)來(lái)單擊鼠標(biāo)。 我們可以使用 pyautogui.moveTo() 函數(shù)預(yù)先將鼠標(biāo)移動(dòng)到所需位置,并指定光標(biāo)的坐標(biāo)。

要使用這些函數(shù)創(chuàng)建自動(dòng)點(diǎn)擊器,我們將移動(dòng)鼠標(biāo)并運(yùn)行 for 循環(huán)來(lái)執(zhí)行每次迭代的 pyautogui.click() 函數(shù)。 我們還會(huì)在每次點(diǎn)擊之前稍微延遲以使其可見(jiàn)。

我們將使用 time 模塊中的 sleep() 函數(shù)來(lái)進(jìn)行延遲。

我們?cè)谙旅娴拇a中實(shí)現(xiàn)自動(dòng)點(diǎn)擊器的邏輯。

import pyautogui
import time
pyautogui.moveTo(600, 800)
for i in range(20):
    time.sleep(0.1)
    pyautogui.click()

在上面的示例中,我們將光標(biāo)移動(dòng)到坐標(biāo)(600,800)并使用 click() 函數(shù)單擊鼠標(biāo) 20 次。

使用 win32api 在 Python 中創(chuàng)建自動(dòng)點(diǎn)擊器

win32api 用于控制和自動(dòng)化 Windows COM 對(duì)象。 我們可以使用 win32con 模塊中的這些對(duì)象并模擬鼠標(biāo)單擊。

為此,我們使用 win32api.mouse_event 函數(shù)兩次,一次用于 win32con.MOUSEEVENTF_LEFTDOWN,另一次用于 win32con.MOUSEEVENTF_LEFTDOWN 來(lái)模擬鼠標(biāo)單擊。

我們將使用 win23api.SetCursorPos() 函數(shù)將光標(biāo)的位置設(shè)置為所需的坐標(biāo)。 然后,我們將使用與之前方法類(lèi)似的方法在 Python 中創(chuàng)建自動(dòng)點(diǎn)擊器。

請(qǐng)參閱下面的代碼。

import win32api, win32con
import time
win32api.SetCursorPos((600,800))
for i in range(20):
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,600,800,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,600,800,0,0)
    time.sleep(0.1)

使用 pynput 模塊在 Python 中創(chuàng)建自動(dòng)點(diǎn)擊器

我們還有 pynput 用于在 Python 腳本中自動(dòng)執(zhí)行鼠標(biāo)和鍵盤(pán)操作。 此方法與前兩種方法不同,因?yàn)槲覀儗?chuàng)建一個(gè)具有創(chuàng)建自動(dòng)點(diǎn)擊器所需功能的類(lèi)。

我們將創(chuàng)建一個(gè)類(lèi),當(dāng)按下特定鍵時(shí),它將充當(dāng)自動(dòng)點(diǎn)擊器。 將分配另一個(gè)鍵來(lái)停止點(diǎn)擊。

我們需要導(dǎo)入 pynput.mouse 和 pynput.keyboard 模塊。

創(chuàng)建的類(lèi)將擴(kuò)展為threading.Thread類(lèi),以便我們可以控制具有不同功能的線程。

在類(lèi)的 __init__ 方法中,我們將像之前一樣指定每次單擊之間的輕微延遲,并提到我們將使用 Button.Left 對(duì)象單擊鼠標(biāo)左鍵。

線程將繼續(xù)運(yùn)行,直到按下停止點(diǎn)擊的鍵為止。 我們將使用 threading.Thread 類(lèi)的 start() 方法來(lái)開(kāi)始單擊。

在 running() 方法中,我們還將使用 Controller 類(lèi)對(duì)象。

為了啟動(dòng)和停止線程,我們將創(chuàng)建一個(gè)函數(shù)。 Listener() 函數(shù)將在使用 on_press 參數(shù)按下按鍵時(shí)執(zhí)行定義的函數(shù)。

這個(gè)邏輯在下面的代碼中實(shí)現(xiàn)。

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

start_end = KeyCode(char='a')
exit_key = KeyCode(char='z')

class auto_clicker_class(threading.Thread):
    def __init__(self):
        super(auto_clicker_class, self).__init__()
        self.delay = 0.1
        self.button = Button.left
        self.running = False
        self.program_run = True
    def begin_clicking(self):
        self.running = True
    def clicking_stop(self):
        self.running = False
    def exit(self):
        self.clicking_stop()
        self.program_run = False
    def run(self):
        while self.program_run:
            while self.running:
                mouse_ob.click(self.button)
                time.sleep(self.delay)
            time.sleep(0.1)

mouse_ob = Controller()
t = auto_clicker_class()
t.start()

def fun(k):
    if k == start_end:
        if t.running:
            t.clicking_stop()
        else:
            t.begin_clicking()
    elif k == exit_key:
        t.exit()
        listener.stop()

with Listener(on_press=fun) as listener:
    listener.join()

總結(jié)

我們?cè)诒酒恼轮杏懻摿俗詣?dòng)點(diǎn)擊器。 前兩種方法相對(duì)簡(jiǎn)單,因?yàn)槲覀兪褂?for 循環(huán)重復(fù)執(zhí)行一個(gè)函數(shù)多次來(lái)模擬鼠標(biāo)單擊。

最后一種方法在 Python 中創(chuàng)建一個(gè)適當(dāng)?shù)淖詣?dòng)點(diǎn)擊器腳本,可以根據(jù)鍵盤(pán)上按下的鍵開(kāi)始和停止點(diǎn)擊。

到此這篇關(guān)于基于Python實(shí)現(xiàn)自動(dòng)點(diǎn)擊器的文章就介紹到這了,更多相關(guān)Python點(diǎn)擊器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python Matplotlib條形圖之垂直條形圖和水平條形圖詳解

    Python Matplotlib條形圖之垂直條形圖和水平條形圖詳解

    這篇文章主要為大家詳細(xì)介紹了Python Matplotlib條形圖之垂直條形圖和水平條形圖,使用數(shù)據(jù)庫(kù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python3 os進(jìn)行嵌套操作的實(shí)例講解

    python3 os進(jìn)行嵌套操作的實(shí)例講解

    在本篇文章里小編給大家整理了關(guān)于python3 os進(jìn)行嵌套操作的實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • python3?queue多線程通信

    python3?queue多線程通信

    這篇文章主要介紹了python3?queue多線程通信,??Queue???對(duì)象已經(jīng)包含了必要的鎖,所以你可以通過(guò)它在多個(gè)線程間多安全地共享數(shù)據(jù),更多相關(guān)內(nèi)容需要的朋友可以參考一下下文文章內(nèi)容
    2022-07-07
  • python 如何對(duì)Series中的每一個(gè)數(shù)據(jù)做運(yùn)算

    python 如何對(duì)Series中的每一個(gè)數(shù)據(jù)做運(yùn)算

    這篇文章主要介紹了python 實(shí)現(xiàn)對(duì)Series中的每一個(gè)數(shù)據(jù)做運(yùn)算操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python內(nèi)置debug庫(kù)pdb用法示例詳解

    Python內(nèi)置debug庫(kù)pdb用法示例詳解

    這篇文章主要介紹了Python內(nèi)置debug庫(kù)pdb用法的相關(guān)資料,Python的內(nèi)置調(diào)試器pdb可以有效幫助開(kāi)發(fā)者掌握程序執(zhí)行流程和變量狀態(tài),通過(guò)插入pdb.set_trace()設(shè)置斷點(diǎn),或直接從命令行啟動(dòng)pdb,可以進(jìn)入交互式調(diào)試模式,需要的朋友可以參考下
    2024-11-11
  • ansible-playbook實(shí)現(xiàn)自動(dòng)部署KVM及安裝python3的詳細(xì)教程

    ansible-playbook實(shí)現(xiàn)自動(dòng)部署KVM及安裝python3的詳細(xì)教程

    這篇文章主要介紹了ansible-playbook實(shí)現(xiàn)自動(dòng)部署KVM及安裝python3的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python+Django實(shí)現(xiàn)防止SQL注入的辦法

    python+Django實(shí)現(xiàn)防止SQL注入的辦法

    這篇文章主要介紹了python+Django實(shí)現(xiàn)防止SQL注入的辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 淺析python多線程中的鎖

    淺析python多線程中的鎖

    這篇文章主要介紹了淺析python多線程中的鎖,鎖由Python的threading模塊提供,并且它最多被一個(gè)線程所持有,當(dāng)一個(gè)線程試圖獲取一個(gè)已經(jīng)鎖在資源上的鎖時(shí),該線程通常會(huì)暫停運(yùn)行,直到這個(gè)鎖被釋放,需要的朋友可以參考下
    2023-07-07
  • python操作excel之openpyxl模塊讀寫(xiě)xlsx格式使用方法詳解

    python操作excel之openpyxl模塊讀寫(xiě)xlsx格式使用方法詳解

    這篇文章主要介紹了python操作excel之openpyxl模塊讀寫(xiě)xlsx格式使用方法詳解,需要的朋友可以參考下
    2022-12-12
  • Python實(shí)現(xiàn)學(xué)校管理系統(tǒng)

    Python實(shí)現(xiàn)學(xué)校管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)學(xué)校管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評(píng)論