Python模块pyautogui使用方法
时间:2021-03-28 来源:未知 投稿:admin 点击:次
例:
详细信息:
pyautogui.size()函数获得屏幕的分辨率
moveTo函数,绝对坐标。
moveRel()函数,相对坐标。以当前鼠标所在位置为基点
click()函数发送虚拟鼠标点击,默认情况下在鼠标所在的位置点击左键。函数原型:
pyautogui.click(x=cur_x, y=cur_y, button='left')
鼠标拖拽:
拖拽的意思是:按下鼠标键并拖动鼠标。
PyAutoGUI提供了两个函数:dragTo() 和 dragRel()。它的参数和moveTo() 和 moveRel() 一样。
注意:duration时间不能太短,拖动太快有些系统会吃不消。
# 定位某个按钮的位置
首先看一下怎么使用pyautogui截屏:
import pyautogui
im = pyautogui.screenshot()
# 获得某个坐标的像素
im.getpixel((50, 200))
# (30, 132, 153)
# 判断屏幕坐标的像素是不是等于某个值
pyautogui.pixelMatchesColor(50, 200, (30, 132, 153))
# True
小测试:实时获得鼠标所在位置的像素值。
现在我们来解决前面提出的问题。问题的关键是怎么找到按钮所在的坐标。其实很简单,首先对你要点击的按钮截个图,就叫button.png吧。然后使用locateOnScreen函数找到按钮所在的位置:
import pyautogui
pyautogui.locateOnScreen('button.png')
# (643, 745, 70, 29)
locateOnScreen其实就是简单的颜色对比,如果有一个像素不匹配,它就会返回None。这个函数返回了匹配图形的坐标,找到中间点:
x, y = pyautogui.center((643, 745, 70, 29)) # 获得中心点
pyautogui.click(x, y)
locateAllOnScreen():找到所有匹配的位置坐标。
# 键盘按键
前面是鼠标相关,下面我们看看键盘。
输入字符串
pyautogui.typewrite():
import pyautogui
pyautogui.click(100, 100)
pyautogui.typewrite('Hello world!')
滚轮
使用函数scroll(),它只接受一个整数。如果值为正往上滚,值为负往下滚。
pyautogui.scroll(200)
pyautogui.scroll(-200)
按键的按下和释放,和鼠标按键非常类似。
keyDown():按下某个键
keyUp():松开某个键
press():一次完整的击键,前面两个函数的组合。
alt+F4:
pyautogui.keyDown('altleft');
pyautogui.press('f4');
pyautogui.keyUp('altleft')
也可以直接使用热键函数:
pyautogui.hotkey('altleft', 'f4')
import pyautogui import time print(pyautogui.position()) #获取鼠标当前坐标 print(pyautogui.size()) #获取计算机分辨率: pyautogui.moveTo(300,300,2) #移动鼠标到300*300位置,2秒钟时间移动过去 time.sleep(3) #暂停3秒 pyautogui.click() #当前位置点击左键 pyautogui.doubleClick() #当前位置双击左键 pyautogui.click(button='right') #当前位置点击右键 pyautogui.typewrite('c') #输入c键 pyautogui.hotkey('enter') #回车键 pyautogui.keyDown('ctrlleft') #按下左边ctrl键 pyautogui.press('v') pyautogui.keyUp('ctrlleft') #松开左边ctrl键 pyautogui.hotkey('down') #键向下键
详细信息:
pyautogui.size()函数获得屏幕的分辨率
moveTo函数,绝对坐标。
moveRel()函数,相对坐标。以当前鼠标所在位置为基点
click()函数发送虚拟鼠标点击,默认情况下在鼠标所在的位置点击左键。函数原型:
pyautogui.click(x=cur_x, y=cur_y, button='left')
鼠标拖拽:
拖拽的意思是:按下鼠标键并拖动鼠标。
PyAutoGUI提供了两个函数:dragTo() 和 dragRel()。它的参数和moveTo() 和 moveRel() 一样。
注意:duration时间不能太短,拖动太快有些系统会吃不消。
# 定位某个按钮的位置
首先看一下怎么使用pyautogui截屏:
import pyautogui
im = pyautogui.screenshot()
# 获得某个坐标的像素
im.getpixel((50, 200))
# (30, 132, 153)
# 判断屏幕坐标的像素是不是等于某个值
pyautogui.pixelMatchesColor(50, 200, (30, 132, 153))
# True
小测试:实时获得鼠标所在位置的像素值。
现在我们来解决前面提出的问题。问题的关键是怎么找到按钮所在的坐标。其实很简单,首先对你要点击的按钮截个图,就叫button.png吧。然后使用locateOnScreen函数找到按钮所在的位置:
import pyautogui
pyautogui.locateOnScreen('button.png')
# (643, 745, 70, 29)
locateOnScreen其实就是简单的颜色对比,如果有一个像素不匹配,它就会返回None。这个函数返回了匹配图形的坐标,找到中间点:
x, y = pyautogui.center((643, 745, 70, 29)) # 获得中心点
pyautogui.click(x, y)
locateAllOnScreen():找到所有匹配的位置坐标。
# 键盘按键
前面是鼠标相关,下面我们看看键盘。
输入字符串
pyautogui.typewrite():
import pyautogui
pyautogui.click(100, 100)
pyautogui.typewrite('Hello world!')
滚轮
使用函数scroll(),它只接受一个整数。如果值为正往上滚,值为负往下滚。
pyautogui.scroll(200)
pyautogui.scroll(-200)
按键的按下和释放,和鼠标按键非常类似。
keyDown():按下某个键
keyUp():松开某个键
press():一次完整的击键,前面两个函数的组合。
alt+F4:
pyautogui.keyDown('altleft');
pyautogui.press('f4');
pyautogui.keyUp('altleft')
也可以直接使用热键函数:
pyautogui.hotkey('altleft', 'f4')
locateOnscreen('xx.png')
寻找屏幕中和xx.png一样的图标位置,是一个四元组 click( center( locateOnscreen('xx.png') ) )
点击该图标的中心,center用来获取图标中心点的坐标
如果您的问题仍未解决,还可以加入服务器在线技术交流QQ群:8017413寻求帮助。
相关内容