簡體   English   中英

模擬鼠標點擊 Python

[英]Simulate Mouse Clicks on Python

我目前正在制作我的 Nintendo Wiimote(實際上有點難過)作為鼠標與我的電腦一起工作。 我已經設法讓雙節棍的搖桿控制實際上在屏幕上上下左右移動鼠標。 這太令人興奮了。 現在我卡住了。

當我按 A 時,我想通過 python 左/右單擊事物,當我去搜索時,它得出的結果是 tkinter?

所以我的問題是,要在桌面上左/右單擊 python,我應該調用什么,如果可能的話,也許提供一個片段?

謝謝您的幫助!

注意:我想我忘了提到這是針對 Linux 的。

您可以使用PyMouse現已合並PyUserInput 我通過pip安裝了它:

  1. apt-get install python-pip

  2. pip install pymouse

在某些情況下,它使用光標,而在另一些情況下,它在沒有光標的情況下模擬了鼠標事件。

from pymouse import PyMouse

m = PyMouse()
m.position() #gets mouse current position coordinates
m.move(x,y)
m.click(x,y) #the third argument "1" represents the mouse button
m.press(x,y) #mouse button press
m.release(x,y) #mouse button release

您還可以指定要使用的鼠標按鈕。 左前鍵:

m.click(x,y,1)

請記住,在Linux上,它需要Xlib。

evdev軟件包提供對Linux中輸入處理子系統各部分的綁定。 它也恰好包括一個到uinput的pythonic接口。

使用evdev發送相對運動事件和鼠標左鍵的示例:

from evdev import UInput, ecodes as e

capabilities = {
    e.EV_REL : (e.REL_X, e.REL_Y), 
    e.EV_KEY : (e.BTN_LEFT, e.BTN_RIGHT),
}

with UInput(capabilities) as ui:
    ui.write(e.EV_REL, e.REL_X, 10)
    ui.write(e.EV_REL, e.REL_Y, 10)
    ui.write(e.EV_KEY, e.BTN_LEFT, 1)
    ui.syn()

PyAutoGui表現出色。.感謝Al Sweigart ...

我的一個例子...

import pyautogui

pyautogui.FAILSAFE = False

for x in range(555, 899):
    pyautogui.moveTo(x, x)

您可能會發現這很有幫助:

http://www.eventghost.org/

祝好運!

您可以嘗試從Python腳本連接XTE程序。

打開終端並轉到cd / usr / share / pyshared / twisted / protocols / mice
也許這個__init__.py mouseman.py python腳本對您mouseman.py ,請檢查一下。

您可以從PyPI安裝PyAutoGUI GUI自動化模塊(運行pip install pyautogui ),然后調用pyautogui.click()單擊屏幕的某些X和Y坐標:

>>> import pyautogui
>>> pyautogui.click(50, 100)
>>> pyautogui.moveTo(200, 200)

PyAutoGUI可在Windows,Mac和Linux以及Python 2和3上運行。它還可以模擬鍵盤,拖動鼠標,截取屏幕截圖以及對屏幕截圖進行簡單的圖像識別。

完整文檔位於https://pyautogui.readthedocs.org/

我沒有看到這件事,所以就去了-還有python-dogtail ; 看到:

它在Gnome桌面中需要“啟用輔助技術”-但原則上可以獲取例如應用程序的GUI按鈕的名稱,並允許對其進行虛擬單擊(而不是通過x / y坐標)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM