我正在为一个业余项目研究 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)。
谢谢!
最佳答案
看看autopy .适用于 OSX、Linux 和 Windows。
关于Python - OS X 中的屏幕抓取和控制鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4515871/