我正在寻找屏幕抓取并在OS X中控制鼠标以进行业余爱好项目。
我不是在寻找最优雅的方式,但我需要能够每半秒左右捕捉一次屏幕。
我发现我可以使用screencapture
命令行工具(screencapture -w -W -i ~/Desktop/capture.jpg
),但我担心它可能不够快。
我也在寻找一种发送点击,设置光标位置和获取光标位置的方法。有点类似于win32api提供的内容:mouse_event
,SetCursorPos
和GetCursorPos
。
我发现这个示例代码使用PyObjC库设置光标位置,但它始终将鼠标移动到(0,0)而不是我传递的坐标。
import objc
class ETMouse():
def setMousePosition(self, x, y):
bndl = objc.loadBundle('CoreGraphics', globals(),
'/System/Library/Frameworks/ApplicationServices.framework')
objc.loadBundleFunctions(bndl, globals(),
[('CGWarpMouseCursorPosition', 'v{CGPoint=ff}')])
CGWarpMouseCursorPosition((x, y))
if __name__ == "__main__":
et = ETMouse()
et.setMousePosition(500, 500)
编辑:如果重要的话,我正在运行Snow Leopard(10.6)。
谢谢!
答案 0 :(得分:4)
看看autopy。适用于OSX,Linux和Windows。
答案 1 :(得分:2)
如果您只是屏幕抓图,我建议您尝试Sikuli吗?它使得界面自动化就像孩子一样,脚本使用Python。
答案 2 :(得分:0)
像ControllerMate这样的自动化软件会有帮助吗?
允许您自定义行为 您的HID设备 - 键盘, 键盘,鼠标,轨迹球,操纵杆, 游戏手柄,油门等等