2013-06-03 59 views
0

我正在運行Ubuntu 12.04並使用python 2.我希望能夠控制我的鼠標,並且我找到了幾個不同的python模塊,但是無法讓它們工作。使用python進行鼠標控制

我安裝dogtail,但是當我嘗試:

dogtail.rawinput.click(x,y) 

我得到:

AttributeError: 'module' object has no attribute 'rawinput' 

我又試圖pymouse,雖然我使用PIP當我輸入pymouse進行安裝:

from pymouse import PyMouse 

我收到:

TypeError: Object value must be tuple, dictionary or DictWrapper: 0 

我試過了uinput模塊,但是鼠標命令只有在放置在循環中時才起作用,這令人沮喪/荒謬。

如果有人知道如何解決這些問題/我在做什麼錯誤/更好或更容易使用模塊,我將非常感謝幫助。

回答

2

考慮到有限的錯誤信息,我會假設我的問題與您的問題相同。我得到的全部例外和回溯是:

>>> import pymouse 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/pymouse/__init__.py", line 95, in <module> 
    from unix import PyMouse, PyMouseEvent 
    File "/usr/local/lib/python2.7/dist-packages/pymouse/unix.py", line 53, in <module> 
    class PyMouseEvent(PyMouseEventMeta): 
    File "/usr/local/lib/python2.7/dist-packages/pymouse/unix.py", line 66, in PyMouseEvent 
    'client_died': False, 
    File "/usr/local/lib/python2.7/dist-packages/Xlib/ext/record.py", line 121, in create_context 
    ranges = ranges) 
    File "/usr/local/lib/python2.7/dist-packages/Xlib/protocol/rq.py", line 1403, in __init__ 
    self._binary = apply(self._request.to_binary, args, keys) 
    File "/usr/local/lib/python2.7/dist-packages/Xlib/protocol/rq.py", line 1088, in to_binary 
    return apply(self.to_binary, varargs, keys) 
    File "<string>", line 3, in to_binary 
    File "/usr/local/lib/python2.7/dist-packages/Xlib/protocol/rq.py", line 523, in pack_value 
    data.append(self.type.pack_value(v)) 
    File "/usr/local/lib/python2.7/dist-packages/Xlib/protocol/rq.py", line 1102, in pack_value 
    return apply(self.to_binary,(), value) 
    File "/usr/local/lib/python2.7/dist-packages/Xlib/protocol/rq.py", line 1088, in to_binary 
    return apply(self.to_binary, varargs, keys) 
    File "<string>", line 4, in to_binary 
    File "/usr/local/lib/python2.7/dist-packages/Xlib/protocol/rq.py", line 573, in check_value 
    vals.append(f.check_value(val[i])) 
    File "/usr/local/lib/python2.7/dist-packages/Xlib/protocol/rq.py", line 582, in check_value 
    raise TypeError('Object value must be tuple, dictionary or DictWrapper: %s' % val) 
TypeError: Object value must be tuple, dictionary or DictWrapper: 0 

注意在Xlib中發生異常。我安裝了版本0.15rc1。 降級到0.14解決了問題。

0

這是我的一段代碼

from pymouse import PyMouse 
m = PyMouse() 
m.click(654, 169,1) 

前兩個參數AR爲X,Y 的最後一個參數來定義至極點擊1 =左鍵2 =右 我希望它可以幫助

m.click(x,y,click)