python自动化之鼠标移动
################################用GUI自动化控制键盘和鼠标###############################
'''
http://pyautogui.readthedocs.org/介绍pyautogui功能
有好几种方法防止或恢复GUI自动化问题:
1、通过注销关闭程序:Ctrl-Alt-Del
2、暂停和自动防故障装置:
(1)、pyautogui.PAUSE=1.5 每个PyAutoGUI函数调用在执行动作之后,都会等待一秒半
非PyAutoGUI指令不会停顿
(2)、pyautogui有自动防故障功能,将鼠标移到屏幕的左上角,自动防故障功能都将停止程序.
可以设置pyautogui.FAILSAFE=False,禁止这项功能
'''
################################移动鼠标##############################################
####pyautogui.moveTo()函数将鼠标立即移动到屏幕的指定位置:x,y为坐标,duration指定所需秒数
import pyautogui
for i in range(10):
pyautogui.moveTo(100,100,duration=0.25)
pyautogui.moveTo(200,100,duration=0.25)
pyautogui.moveTo(200,200,duration=0.25)
pyautogui.moveTo(100,200,duration=0.25)
####pyautogui.moveRel()函数相对于当前的位置移动鼠标
import pyautogui
for i in range(10):
pyautogui.moveRel(100,0,duration=0.25)
pyautogui.moveRel(0,100,duration=0.25)
pyautogui.moveRel(-100,0,duration=0.25)
pyautogui.moveRel(0,-100,duration=0.25)
####pyautogui.position()函数确定鼠标当前的位置
pyautogui.position()
################################控制鼠标交互##############################################
###################################点击鼠标###############################################
import pyautogui
pyautogui.click(100,150,button='left') ####在相应位置点击鼠标左键
'''
pyautogui.click(100,150,button='right') ####将在相应位置点击鼠标右键
pyautogui.mouseDown() ####按下鼠标按键
pyautogui.mouseDown() ####释放鼠标按键
pyautogui.doubleClick() ####执行双击鼠标左键
pyautogui.rightClick() ####执行双击右键
pyautogui.middleClick() ####执行双击中键
'''
###################################拖放鼠标######################################################
'''
pyautogui.dragTo()和pyautogui.dragRel()函数:将鼠标拖动到一个新的位置,或相对当前位置的位置
dragTo()和dragRel()的参数与moveTo()和moveRel相同:x坐标/水平移动,y坐标/垂直移动,以及可选的时间间隔
'''
import pyautogui,time
time.sleep(5)
pyautogui.click()
distance=200
while distance>0:
pyautogui.dragRel(distance,0,duration=0.2)
distance=distance-5
pyautogui.dragRel(0,distance,duration=0.2)
pyautogui.dragRel(-distance,0,duration=0.2)
distance=distance-5
pyautogui.dragRel(0,distance,duration=0.2)
###################################滚动鼠标######################################################
import pyperclip
numbers=''
for i in range(200):
numbers=numbers+str(i)+'\n'
pyperclip.copy(numbers)
###得到文本
import time,pyautogui
time.sleep(5);pyautogui.scroll(100)
################################获取屏幕快照#####################################################
import pyautogui
>>> im=pyautogui.screenshot()
>>> im.save(r'C:\Users\shenlu\Desktop\one.jpg')
####im中包含一个屏幕快照的Image对象
################################分析屏幕快照##############################################
>>> import pyautogui
>>> im=pyautogui.screenshot()
>>> im.getpixel((50,200))
(255, 255, 255)
>>> pyautogui.pixelMatchesColor(50,200,(255,255,254))
False
>>> pyautogui.pixelMatchesColor(50,200,(255,255,255))
True
################################图像识别##############################################
>>> pyautogui.locateOnScreen(r'C:\Users\shenlu\Desktop\one.jpg')
>>> a=pyautogui.locateOnScreen(r'C:\Users\shenlu\Desktop\one.jpg')
>>> print a
None
'''
1、pyautogui.locateOnScreen()未成功识别,返回None;
成功识别,返回首次发现该图像时左边的x,y坐标,宽度和高度
2、如果该图像在屏幕上能够找到多处,locateAllOnScreen()函数返回一个list
3、pyautogui.center()返回该区域中心的x,y坐标
'''
>>>pyautogui.locateOnScreen('submit.png')
(643,745,70,29)
>>>pyautogui.center((643,745,70,29))
(678,759)
>>>pyautogui.click((678,759))
################################控制键盘##############################################
##############################通过键盘发送一个字符串##################################
'''
pyautogui.typewrite()函数向计算机发送虚拟按键
'''
>>> import pyautogui
>>> pyautogui.click(500,500);pyautogui.typewrite('Hello world!')
###################################键名###############################################
import pyautogui
pyautogui.typewrite(['a','b','left','left','X','Y']) ####以下的调用表示按a键,b键,左箭头两次,X和Y键
>>> pyautogui.typewrite(['a','b','left','left','X','Y'])
XYab>>>
>>> pyautogui.typewrite(['a','b','left','X','Y'])
aXYb>>>
'''
键盘键字符串 含义
'a','b','A','B','C','1','2','3' 单个字符的键
'!','@','#',等等
'enter'(or 'return' or '\n') 回车键
'esc' Esc键
......
'''
###################################按下和释放键盘####################################
#'''
#pyautogui.keyDown()和pyautogui,keyUp()将向计算机发送虚拟的按键和释放
#'''
import pyautogui
pyautogui.keyDown('shift');pyautogui.press('4');pyautogui.keyUp('shift')
######################################热键组合#######################################
import pyautogui
pyautogui.hotkey('ctrl','c') ##即Ctrl-C键
'''
等同于
pyautogui.keyDown('ctrl')
pyautogui.keyDown('c')
pyautogui.keyUp('c')
pyautogui.keyUp('ctrl')
'''
import pyautogui,time
def commentAfterDelay():
pyautogui.click(500,500)
time.sleep(2)
pyautogui.hotkey('shift','3')
pyautogui.typewrite('In IDLE,Alt-3 comments out a line.')
commentAfterDelay()
######################################现在鼠标在哪里#######################################
####显示鼠标坐标位置,给出这个像素的RGB颜色
import pyautogui
print 'Press Ctrl-C to quit'
try:
while True:
x,y=pyautogui.position()
positionStr='X: '+str(x).rjust(4)+' Y: '+str(y).rjust(4)
pixelColor=pyautogui.screenshot().getpixel((x,y))
positionStr +='RGB: ('+str(pixelColor[0]).rjust(3)
positionStr +=', '+str(pixelColor[1]).rjust(3)
positionStr +=', '+str(pixelColor[2]).rjust(3) +')'
print positionStr,
print '\b'*len(positionStr),
except KeyboardInterrupt:
print '\nDone.'
###########################每隔10秒移动下鼠标###########################
import pyautogui,time
try:
while True:
time.sleep(10)
pyautogui.moveRel(-100,100,duration=0.25)
except KeyboardInterrupt:
print '\nDone.'
python自动化之鼠标移动的更多相关文章
- Python自动化学习--鼠标和键盘事件
from selenium import webdriver from selenium.webdriver import ActionChains import time driver = webd ...
- Python+Selenium自动化 模拟鼠标操作
Python+Selenium自动化 模拟鼠标操作 在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就 ...
- Selenium2+python自动化13-Alert
不是所有的弹出框都叫alert,在使用alert方法前,先要识别出它到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决.alert\confirm\prompt弹出框 ...
- 【python自动化第十一篇】
[python自动化第十一篇:] 课程简介 gevent协程 select/poll/epoll/异步IO/事件驱动 RabbitMQ队列 上节课回顾 进程: 进程的诞生时为了处理多任务,资源的隔离, ...
- python自动化工具之pywinauto(一个实例)结合pyuserinput
以下是pywinauto使用指南.这个窗口句柄可以在Spy++中查看 (Microsoft Spy++(查看窗口句柄) 10.00.30319 官方最新绿色版) python自动化工具之pywinau ...
- selenium+python自动化98--文件下载弹窗处理(PyKeyboard)
前言 在web自动化下载操作时,有时候会弹出下载框,这种下载框不属于web的页面,是没办法去定位的(有些同学一说到点击,脑袋里面就是定位!定位!定位!) 有时候我们并不是非要去定位到这个按钮再去点击, ...
- selenium+python自动化79-文件下载(SendKeys)
前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用S ...
- Selenium2+Python自动化学习笔记(第1天)
参考[http://blog.csdn.net/henni_719/article/details/51096531]大神写的笔记,多谢大神共享. 哈哈,今天又找到一位大神写的Selenium2+Py ...
- 安利下PyAUtoGUI这个库,可自动化控制鼠标键盘
PyAutoGUI 不知道你有没有用过,它是一款用Python自动化控制键盘.鼠标的库.但凡是你不想手动重复操作的工作都可以用这个库来解决. 比如,我想半夜时候定时给发个微信,或者每天自动刷页面等操作 ...
随机推荐
- HDU1754
https://vjudge.net/contest/66989#problem/B 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜 ...
- memset()初始化为1的那些事
问题代码: #include <stdio.h> #include <string.h> int main() { ]; int a; while(~scanf("% ...
- ASP.NET Core2.1 你不得不了解的GDPR(Cookie处理) - (转载)
前言 时间一晃 ASP.NET Core已经迭代到2.1版本了. 迫不及待的的下载了最新的版本,然后生成了一个模版项目来试试水. ...然后就碰到问题了... 我发现..cookie竟然存不进去了.. ...
- 注冊成为Windows Phone开发人员而且解锁Windows Phone 8.1手机
注冊成为Windows Phone开发人员而且解锁Windows Phone 8.1手机 上篇文章介绍了怎样使用Qt Creator和Visual Studio构建Windows Phone 8.1应 ...
- 2PC AND 3PC
一.分布式数据一致性 在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上. (1)什么是数据一致性 在数据有多份副本的情况下,如果网络 ...
- 一个评测指标就是MAP(Mean Average Precision)平均精度均值。
一个评测指标就是MAP(Mean Average Precision)平均精度均值. 转载 2017年09月13日 10:07:12 标签: 深度学习 892 来源01:Mean Average Pr ...
- 汇编 inc 和 dec 指令
知识点: inc 加1指令 dec 减1指令 一.加一指令inc inc a 相当于 add a, //i++ 优点 速度比sub指令快,占用空间小 这条指令执行结果影响AF.OF.PF.SF.Z ...
- python常用算法实现
排序是计算机语言需要实现的基本算法之一,有序的数据结构会带来效率上的极大提升. 1.插入排序 插入排序默认当前被插入的序列是有序的,新元素插入到应该插入的位置,使得新序列仍然有序. def inser ...
- Spark内存管理
本文基于Spark 1.6.0之后的版本 Spark 1.6.0引入了对堆外内存的管理并对内存管理模型进行了改进,SPARK-11389. 从物理上,分为堆内内存和堆外内存:从逻辑上分为executi ...
- Flutter - 创建底部导航栏
之前写过的一篇文章介绍了 Flutter - 创建横跨所有页面的侧滑菜单, 这次就一起来学习一下底部导航栏. 底部导航栏在ios平台上非常常见,app store就是这样的风格.还有就是大家最常用的微 ...