700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python在mac模拟鼠标点击_如何使用Python在Mac中控制鼠标?

python在mac模拟鼠标点击_如何使用Python在Mac中控制鼠标?

时间:2020-08-29 20:01:21

相关推荐

python在mac模拟鼠标点击_如何使用Python在Mac中控制鼠标?

请尝试this page处的代码。它定义了两个函数mousemove和mouseclick,这两个函数连接到了苹果在Python和平台的Quartz库之间的集成中。

这段代码在10.6上运行,我在10.7上使用它。这段代码的好处是它生成鼠标事件,而有些解决方案没有。我用它来控制BBC I player,方法是将鼠标事件发送到Flash播放器中的已知按钮位置(我知道它非常脆弱)。尤其需要鼠标移动事件,否则Flash播放器永远不会隐藏鼠标光标。像CGWarpMouseCursorPosition这样的函数不会这样做。from Quartz.CoreGraphics import CGEventCreateMouseEvent

from Quartz.CoreGraphics import CGEventPost

from Quartz.CoreGraphics import kCGEventMouseMoved

from Quartz.CoreGraphics import kCGEventLeftMouseDown

from Quartz.CoreGraphics import kCGEventLeftMouseDown

from Quartz.CoreGraphics import kCGEventLeftMouseUp

from Quartz.CoreGraphics import kCGMouseButtonLeft

from Quartz.CoreGraphics import kCGHIDEventTap

def mouseEvent(type, posx, posy):

theEvent = CGEventCreateMouseEvent(

None,

type,

(posx,posy),

kCGMouseButtonLeft)

CGEventPost(kCGHIDEventTap, theEvent)

def mousemove(posx,posy):

mouseEvent(kCGEventMouseMoved, posx,posy);

def mouseclick(posx,posy):

# uncomment this line if you want to force the mouse

# to MOVE to the click location first (I found it was not necessary).

#mouseEvent(kCGEventMouseMoved, posx,posy);

mouseEvent(kCGEventLeftMouseDown, posx,posy);

mouseEvent(kCGEventLeftMouseUp, posx,posy);

下面是上一页的代码示例:##############################################################

# Python OSX MouseClick

# (c) Alex Assouline,

##############################################################

import sys

try:

xclick=intsys.argv1

yclick=intsys.argv2

try:

delay=intsys.argv3

except:

delay=0

except:

print "USAGE mouseclick [int x] [int y] [optional delay in seconds]"

exit

print "mouse click at ", xclick, ",", yclick," in ", delay, "seconds"

# you only want to import the following after passing the parameters check above, because importing takes time, about 1.5s

# (why so long!, these libs must be huge : anyone have a fix for this ?? please let me know.)

import time

from Quartz.CoreGraphics import CGEventCreateMouseEvent

from Quartz.CoreGraphics import CGEventPost

from Quartz.CoreGraphics import kCGEventMouseMoved

from Quartz.CoreGraphics import kCGEventLeftMouseDown

from Quartz.CoreGraphics import kCGEventLeftMouseDown

from Quartz.CoreGraphics import kCGEventLeftMouseUp

from Quartz.CoreGraphics import kCGMouseButtonLeft

from Quartz.CoreGraphics import kCGHIDEventTap

def mouseEventtype, posx, posy:

theEvent = CGEventCreateMouseEventNone, type, posx,posy, kCGMouseButtonLeft

CGEventPostkCGHIDEventTap, theEvent

def mousemoveposx,posy:

mouseEventkCGEventMouseMoved, posx,posy;

def mouseclickposx,posy:

#mouseEvent(kCGEventMouseMoved, posx,posy); #uncomment this line if you want to force the mouse to MOVE to the click location first (i found it was not necesary).

mouseEventkCGEventLeftMouseDown, posx,posy;

mouseEventkCGEventLeftMouseUp, posx,posy;

time.sleepdelay;

mouseclickxclick, yclick;

print "done."

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。