Python - Скриншот и управление мышью в OS X - PullRequest
5 голосов
/ 23 декабря 2010

Я изучаю скриншот и управление мышью в 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), если это важно.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 12 апреля 2011

Взгляните на autopy . Работает в OSX, Linux и Windows.

2 голосов
/ 12 апреля 2011

Если вы просто снимаете скриншот, могу я предложить вам попробовать Sikuli ?Это делает автоматизацию интерфейса как детскую игру, а сценарии используют Python.

0 голосов
/ 12 апреля 2011

Может ли помочь программное обеспечение для автоматизации, например ControllerMate ?

позволяет настроить поведение ваших скрытых устройств - клавиатуры, клавиатуры, мыши, трекболы, джойстики, геймпады, дроссели, среди прочего

...