赞
踩
PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作。
安装
pip install pyautogui
1.屏幕坐标
Pyautogui的鼠标函数使用想x,y坐标,原点在屏幕的左上角,向右为x轴正方向,向下为y轴正方向。知道了这个就可以任意定位屏幕上的点啦。
2.查看元素坐标
inputEle = driver.find_element_by_id('kw').send_keys('abcd')
rect = inputEle.rect
3.pyautogui鼠标操作API
import pyautogui
# 获取当前屏幕分辨率
screenWidth, screenHeight = pyautogui.size()print ("当前屏幕的分辨率是{}*{}".format(screenWidth,screenHeight))
# 获取当前鼠标位置
currentMouseX, currentMouseY = pyautogui.position()# 2秒钟鼠标移动坐标为100,100位置 绝对移动
#pyautogui.moveTo(100, 100,2)
pyautogui.moveTo(x=100, y=100,duration=2, tween=pyautogui.linear)#鼠标移到屏幕中央。
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)# 鼠标左击一次
#pyautogui.click()
# x
# y
# clicks 点击次数
# interval点击之间的间隔
# button 'left', 'middle', 'right' 对应鼠标 左 中 右或者取值(1, 2, or 3)
# tween 渐变函数
#
pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)# 鼠标相对移动 ,向下移动
#pyautogui.moveRel(None, 10)
pyautogui.moveRel(xOffset=None, yOffset=10,duration=0.0, tween=pyautogui.linear)
# 鼠标当前位置0间隔双击
#pyautogui.doubleClick()
pyautogui.doubleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)# 鼠标当前位置3击
#pyautogui.tripleClick()
pyautogui.tripleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)#右击
pyautogui.rightClick()#中击
pyautogui.middleClick()# 用缓动/渐变函数让鼠标2秒后移动到(500,500)位置
# use tweening/easing function to move mouse over 2 seconds.
pyautogui.moveTo(x=500, y=500, duration=2, tween=pyautogui.easeInOutQuad)#鼠标拖拽
pyautogui.dragTo(x=427, y=535, duration=3,button='left')#鼠标相对拖拽
pyautogui.dragRel(xOffset=100,yOffset=100,duration=,button='left',mouseDownUp=False)#鼠标移动到x=1796, y=778位置按下
pyautogui.mouseDown(x=1796, y=778, button='left')#鼠标移动到x=2745, y=778位置松开(与mouseDown组合使用选中)
pyautogui.mouseUp(x=2745, y=778, button='left',duration=5)#鼠标当前位置滚轮滚动
pyautogui.scroll()
#鼠标水平滚动(Linux)
pyautogui.hscroll()
#鼠标左右滚动(Linux)
pyautogui.vscroll()
4.pyautogui键盘操作
#模拟输入信息
pyautogui.typewrite(message='Hello world!',interval=0.5)
#点击ESC
pyautogui.press('esc')
# 按住shift键
pyautogui.keyDown('shift')
# 放开shift键
pyautogui.keyUp('shift')
# 模拟组合热键
pyautogui.hotkey('ctrl', 'c')
按键支持
5.截图
- im1 = pyautogui.screenshot()
- im1.save('my_screenshot.png')
-
- im2 = pyautogui.screenshot('my_screenshot2.png')
屏幕查找图片位置并获取中间点
要提高精确度,安装opencv的库
pip install opencv-python
- import pyautogui
- import cv2
-
- # 获得文件图片在现在的屏幕上面的坐标,返回的是一个元组(top, left, width, height)
- # 如果截图没找到,pyautogui.locateOnScreen()函数返回None
- coords = pyautogui.locateOnScreen('folder.png',grayscale = True,confidence=.5)
- #获取定位到的图中间点坐标
- x,y=pyautogui.center(coords)
- #右击该坐标点
- pyautogui.rightClick(x,y)
-
- # 或者
- x, y = pyautogui.locateCenterOnScreen('screen.png') # 这步与上面的四行代码作用一样
- print(x, y)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。