python PyAutoGUI 模拟鼠标键盘操作和截屏功能

yipeiwu_com5年前Python基础

简介

一款跨平台/无依赖的自动化测试工具,目测只能控制鼠标/键盘/获取屏幕尺寸/弹出消息框/截屏。

安装

pip install pyautogui

鼠标键盘控制

 >>> import pyautogui
  >>> screenWidth, screenHeight = pyautogui.size()
  >>> currentMouseX, currentMouseY = pyautogui.position()
  >>> pyautogui.moveTo(100, 150)
  >>> pyautogui.click()
  >>> pyautogui.moveRel(None, 10) # move mouse 10 pixels down
  >>> pyautogui.doubleClick()
  >>> pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.tweens.easeInOutQuad) # use tweening/easing function to move mouse over 2 seconds.
  >>> pyautogui.typewrite('Hello world!', interval=0.25) # type with quarter-second pause in between each key
  >>> pyautogui.press('esc')
  >>> pyautogui.keyDown('shift')
  >>> pyautogui.typewrite(['left', 'left', 'left', 'left', 'left', 'left'])
  >>> pyautogui.keyUp('shift')
  >>> pyautogui.hotkey('ctrl', 'c')

显示消息弹出框

 >>> import pyautogui
  >>> pyautogui.alert('This is an alert box.')
  'OK'
  >>> pyautogui.confirm('Shall I proceed?')
  'Cancel'
  >>> pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
  'B'
  >>> pyautogui.prompt('What is your name?')
  'Al'
  >>> pyautogui.password('Enter password (text will be hidden)')
  'swordfish'

截屏

  >>> import pyautogui
  >>> im1 = pyautogui.screenshot()
  >>> im1.save('my_screenshot.png')
  >>> im2 = pyautogui.screenshot('my_screenshot2.png')

定位截屏

  >>> import pyautogui
  >>> button7location = pyautogui.locateOnScreen('button.png') # returns (left, top, width, height) of matching region
  >>> button7location
  (1416, 562, 50, 41)
  >>> buttonx, buttony = pyautogui.center(button7location)
  >>> buttonx, buttony
  (1441, 582)
  >>> pyautogui.click(buttonx, buttony) # clicks the center of where the button was found

参考

http://pyautogui.readthedocs.io/en/latest/index.html
https://github.com/asweigart/pyautogui
https://github.com/asweigart/sushigoroundbot

总结

以上所述是小编给大家介绍的python PyAutoGUI 模拟鼠标键盘操作和截屏功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

python中的set实现不重复的排序原理

python中的set实现不重复的排序原理

最近在尝试写选课系统的时候遇到一个问题:   1、存在两个类 School、Teacher ;   2、School实例中包含多个Teacher的实例,但又不可重复   本人想到在Sch...

Django使用HttpResponse返回图片并显示的方法

做了一个关于Django的小案例,想要在网页中显示图片,直接在img标签的src属性写图片的路径是不能显示的,查询资料发现在Django中使用图片这类的资源相当繁琐需要进行一定D的配置,...

Python对ElasticSearch获取数据及操作

使用Python对ElasticSearch获取数据及操作,供大家参考,具体内容如下 Version Python :2.7 ElasticSearch:6.3 代码: #!/u...

python使用Plotly绘图工具绘制气泡图

python使用Plotly绘图工具绘制气泡图

今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图。 气泡图的实现方法类似散点图的实现。修改散点图中点的大小,就变成气泡图。 实现代码如下: import plotl...

Python使用ctypes调用C/C++的方法

python使用ctypes调用C/C++ 1. ctpes介绍 ctypes is a foreign function library for Python. It provides...