尝试this page的代码.它定义了几个函数,mousemove和mouseclick,它们融合了Apple与Python平台的Quartz库之间的集成.

这段代码适用于10.6,我在10.7上使用它.这段代码的好处在于它会生成鼠标事件,而某些解决方案却没有.我通过将鼠标事件发送到他们的Flash播放器中的已知按钮位置来控制BBC iPlayer(我知道非常脆弱).特别是鼠标移动事件是必需的,否则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) 2010 Alex Assouline, GeekOrgy.com

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

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."

python控制鼠标_如何使用Python在Mac中控制鼠标?相关推荐

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

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

  2. python自动控制程序_巧用 python 脚本控制你的C程序

    python是一门艺术语言,除了开发桌面程序,还能够开发网络应用,数据库应用,还可以代替shell编写一些的实用脚本,本文主要讲述了如何利用 python 程序控制你的 C 程序的行为. 作为例子,本 ...

  3. python递归函数例题_递归案例python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 而对应的中文翻译 "递归" 却表达了两个意思:"递 ...

  4. python自动化客户端_如何使用Python自动化登录客户端,pywinauto确实很强大

    工作中会遇见很多重复性的工作,如何让自己懒一点,可以不用每天去做这些,而是去自动化完成一些市场呢? 首先,我们需要登录客户端,如plsql.qq.邮箱.钉钉等等,网上百度过很多方法,发现都是已txt文 ...

  5. 文科生自学python要多久_怎么自学python,大概要多久?

    都让开!本人文科生,自学Python 2年半,作为一个曾经完全0基础,啥都不懂纯靠自学学会python的文科生,有一些不成熟的小建议可以分享一下. 首先不要觉着编程难,只要你认识26个英文字母,有一点 ...

  6. python len函数_知识清单Python必备的69个函数,你掌握了吗?

    本文纲要 Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很 ...

  7. python qq模块_常用的Python模块

    目录 1.使用copy模块来复制 >>> class Animal: def _init_(self, species, number_of_legs, color): self.s ...

  8. python变量标识符_简谈-Python的注释、变量类型、标识符及关键字

    在Python程序中,要想支持中文输出,则要在代码前面添加 标识符:开发人员在程序中自定义的一些符号和名称 标示符是自己定义的,如变量名 .函数名等 标识符的规则: 标示符由字目.下划线和数字组成,且 ...

  9. python优化网站_[练习] 用PYTHON来优化网站中的图片

    我到公司以来,第一次加班,哇,加一晚上加一上午,现在还没下班的迹象,555,困. 对于网站中的一些关键的页面,多重缓存.静态化.程序代码优化--之外,为了提高用户打开页面的速度,图片是必须要优化的. ...

  10. python查询最高分_精通 Oracle+Python,第 1 部分:查询最佳应践

    作者:Przemyslaw Piotrowski 首先,熟悉 Oracle-Python 连接性的基本概念 2007 年 9 月发布 参见系列目录 在 Python 做事方式的核心原则中,有一个规定是 ...

最新文章

  1. Google Analytics功能篇 - 如何跟踪邮件打开率与点击率
  2. json-lib-2.1-jdk15.jar
  3. HTTP协议1之协议详解--转
  4. nodejs API(二)
  5. Cesium:加载json数据
  6. 基于麻雀搜索算法优化的广义回归神经网络(GRNN)预测 -附代码
  7. uniapp动态修改元素节点样式
  8. 乐优购物学习笔记(5)
  9. HDU 6599 Palindromic_Automaton
  10. LaTex 表格的单元格划横线,分成两部分
  11. 腾讯视频、爱奇艺、豆果美食等为线下贷款中介导流、个人信息遭倒卖
  12. ajax 更新局部视图,使用Ajax局部更新Razor页面的实例代码
  13. 基于MES的生产车间管理信息系统
  14. 电脑老是显示无网络连接到服务器,电脑怎么老弹出无法与服务器建立连接
  15. 笔记本在Win7/Win8/win8.1下安装OS X 10.9.3懒人版通用教程
  16. EventBus使用之基础
  17. 转:适用于虚拟桌面的 Windows 10 企业版
  18. 分享][转帖] 无光驱安装系统的方法
  19. html5地区级联选择,【JS】vue+vant移动端地区级联选择组件
  20. ping 丢包 网络摄像头_网络监控摄像机丢包的原因分析

热门文章

  1. Python编程基础14:数据库编程
  2. Python案例:用米粒填充国际象棋盘
  3. 在Eclipse里搭建Go开发的环境
  4. 【BZOJ1965】【codevs1446】洗牌,快速幂+扩展欧几里德
  5. 【codevs2301】【BZOJ2186】沙拉公主的困惑,数论练习之逆元与φ
  6. 【OJ8462】大盗阿福
  7. linux免密后还是要输密码,ssh配置免密后依然需要输入密码的问题解决及排查过程...
  8. win10浏览器闪退_Win10系统Edge浏览器闪退问题的解决方法
  9. vue 获取响应头里set-cookie的值_最简化 VUE的响应式原理
  10. java socket 编程 客户机服务器_Java Socket编程服务器响应客户端实例代码