Nhấp chuột Python

Gọi

from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
2 từ bất cứ đâu, hoặc tăng
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
3 hoặc trả lại
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
4 từ một cuộc gọi lại để ngăn người nghe

Trên Windows, các sự kiện ảo được gửi bởi các quy trình khác có thể không được nhận. Tuy nhiên, thư viện này có các biện pháp phòng ngừa để gửi bất kỳ sự kiện ảo nào được tạo tới tất cả các trình nghe hiện đang chạy của quy trình hiện tại

Thẩm quyền giải quyết

lớp
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
0
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
1

Bộ điều khiển để gửi các sự kiện chuột ảo đến hệ thống

from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
2 [ nút, đếm=1 ]

Phát ra sự kiện bấm nút ở vị trí hiện tại

Việc triển khai mặc định sẽ gửi một loạt các sự kiện báo chí và thông cáo báo chí

Thông số
  • nút [Button] – Nút để bấm
  • đếm [int] – Số lần nhấp để gửi
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
3 [ dx, dy ]

Di chuyển con trỏ chuột một số điểm ảnh từ vị trí hiện tại của nó

Thông số
  • x [int] – Độ lệch ngang
  • dy [int] – Độ lệch dọc
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
4

Vị trí hiện tại của con trỏ chuột

Đây là bộ

from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
5 và cài đặt nó sẽ di chuyển con trỏ

from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
6 [ nút ]

Phát ra sự kiện nhấn nút tại vị trí hiện tại

Thông số. nút [Button] – Cái nút để bấm.
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
7 [ nút ]

Phát ra sự kiện nhả nút ở vị trí hiện tại

Thông số. nút [Button] – Nút để nhả.
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
8 [ dx, dy ]

Gửi các sự kiện cuộn

Thông số
  • dx [int] – Cuộn ngang. Các đơn vị cuộn không được xác định
  • dy [int] – Cuộn dọc. Các đơn vị cuộn không được xác định
lớp
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
0_______100 [ on_move=None, on_click=None, on_scroll=None ]

Trình lắng nghe các sự kiện chuột

Các thể hiện của lớp này có thể được sử dụng làm trình quản lý bối cảnh. Điều này tương đương với đoạn mã sau

from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
0

Lớp này kế thừa từ

from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
5 và hỗ trợ tất cả các phương thức của nó. Nó sẽ đặt
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
02 thành
from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
03 khi được tạo

Thông số
  • on_move [có thể gọi] –

    Cuộc gọi lại để gọi khi sự kiện di chuyển chuột xảy ra

    Nó sẽ được gọi với các đối số

    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    5, là vị trí con trỏ mới. Nếu cuộc gọi lại này tăng
    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    05 hoặc trả về
    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    4, người nghe sẽ dừng lại

  • on_click [có thể gọi] –

    Cuộc gọi lại để gọi khi nhấp vào nút chuột

    Nó sẽ được gọi với các đối số

    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    07, trong đó
    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    5 là vị trí con trỏ mới,
    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    09 là một trong các giá trị của
    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    70 và
    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    71 là nút có được nhấn hay không

    Nếu cuộc gọi lại này tăng

    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    05 hoặc trả về
    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    4, người nghe sẽ dừng lại

  • on_scroll [có thể gọi] –

    Cuộc gọi lại để gọi khi xảy ra sự kiện cuộn chuột

    Nó sẽ được gọi với các đối số

    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    74, trong đó
    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    5 là vị trí con trỏ mới và
    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    76 là vectơ cuộn

    Nếu cuộc gọi lại này tăng

    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    05 hoặc trả về
    from pynput.mouse import Listener
    
    def on_move[x, y]:
        print['Pointer moved to {0}'.format[
            [x, y]]]
    
    def on_click[x, y, button, pressed]:
        print['{0} at {1}'.format[
            'Pressed' if pressed else 'Released',
            [x, y]]]
        if not pressed:
            # Stop listener
            return False
    
    def on_scroll[x, y, dx, dy]:
        print['Scrolled {0}'.format[
            [x, y]]]
    
    # Collect events until released
    with Listener[
            on_move=on_move,
            on_click=on_click,
            on_scroll=on_scroll] as listener:
        listener.join[]
    
    4, người nghe sẽ dừng lại

from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
79

Cho dù người nghe hiện đang chạy

from pynput.mouse import Listener

def on_move[x, y]:
    print['Pointer moved to {0}'.format[
        [x, y]]]

def on_click[x, y, button, pressed]:
    print['{0} at {1}'.format[
        'Pressed' if pressed else 'Released',
        [x, y]]]
    if not pressed:
        # Stop listener
        return False

def on_scroll[x, y, dx, dy]:
    print['Scrolled {0}'.format[
        [x, y]]]

# Collect events until released
with Listener[
        on_move=on_move,
        on_click=on_click,
        on_scroll=on_scroll] as listener:
    listener.join[]
40 []

Bắt đầu hoạt động của chủ đề

Nó phải được gọi nhiều nhất một lần cho mỗi đối tượng luồng. Nó sắp xếp để gọi phương thức run[] của đối tượng trong một luồng điều khiển riêng biệt

Làm cách nào để phát hiện nhấp chuột trong Python?

Xây dựng tập lệnh .
từ pynput. nhập chuột Listener. .
với Listener[] là người nghe. thính giả. .
def on_move[x, y]. vượt qua def on_click[x, y, nút, đã nhấn]. vượt qua def on_scroll[x, y, dx, dy]. vượt qua. .
với Listener[on_move=on_move, on_click=on_click, on_scroll=on_scroll] làm người nghe

Bạn có thể điều khiển chuột bằng Python không?

Để điều khiển chuột bằng Python, bạn có thể sử dụng thư viện PyAutoGUI . Tiếp theo, bạn sẽ thấy 4 tình huống sau minh họa cách điều khiển chuột bằng Python bằng cách. Di chuyển con trỏ chuột đến một vị trí cụ thể. Nhấp vào một vị trí cụ thể.

Chủ Đề