服务器在线 - 服务器软件 - 网站地图 服务器在线,专注于服务器技术!

当前位置:主页 > 编程脚本 > Python > 正文

Python模块pyautogui使用方法

时间:2021-03-28    来源:未知    投稿:admin    点击:

例:
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寻求帮助。


相关内容
最新热点内容