调用Python的PyAutoGUI模块中的doubleClick函数无反应

  PyAutoGUI模块能够控操作鼠标和键盘,实现与其它应用程序自动交互。PyAutoGUI模块支持Windows、OS X、Linux等平台,可以在Python 2和Python 3版本中调用。PyAutoGUI模块支持采用pip install命令在线安装,也可以到Github上下载源文件后离线安装。

pip install pyautogui

  PyAutoGUI模块支持在屏幕上搜索指定的图片内容所在位置,于是想做个搜索微信电脑版的图标,然后双击图标启动微信电脑版的程序,代码比较简单,如下所示:

weixin=pyautogui.locateOnScreen('weixin.PNG')
if weixin is None:
    print("not found")
else:
    print("founded")
    pyautogui.moveTo(weixin.left+weixin.width/2 , weixin.top+weixin.height/2, 2)
    pyautogui.doubleClick()

  但是实际执行过程中却发现,程序可以找到微信电脑版的图标,但是调用双击函数却没有反应,查看任务管理器,微信电脑版的进程也没有起来。百度错误现象,大部分网页给出的解决方案是说要以管理员身份启动python程序,但本人测试时命令行已经是管理员方式启动了,也有建议将杀毒软件关闭的,测试了一下,关闭杀毒软件后程序可以正常运行,调用双击函数能够启动微信电脑版,通过查看360杀毒软件安全操作中心的拦截记录,发现程序的很多次模拟按键操作都被杀毒软件拦截了(将python.exe加入到可信任区,但还是会被拦截,不清楚怎么回事儿)。
在这里插入图片描述

  在测试过程中,还找了2种另外的方式:
  1)按回车键。定位到图标后,先单击图标,然后模拟按回车键。关闭杀毒软件后,这种方式页可以启动图标,开着杀毒软件的话,模拟按回车键没有反应。程序代码如下所示:

weixin=pyautogui.locateOnScreen('weixin.PNG')
pyautogui.click(weixin.left+weixin.width/2 , weixin.top+weixin.height/2)
time.sleep(2)
pyautogui.press('enter')

  2)任务栏启动。将微信桌面版图标固定到操作系统任务栏中,然后定位任务栏中的图标,模拟单击图标即可启动图标。经测试,这种方式杀毒软件没有拦截。

参考文献:
[1]https://pyautogui.readthedocs.io/en/latest/
[2]https://github.com/asweigart/pyautogui
[3]https://bbs.360.cn/thread-16036619-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值