温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行python中pyautogui的安装和使用

发布时间:2021-12-27 19:24:49 来源:亿速云 阅读:369 作者:柒染 栏目:开发技术

本篇文章给大家分享的是有关如何进行python中pyautogui的安装和使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

    前言

    以下是我对python中编写脚本最重要的库之一pyautogui的学习整理,分享给大家希望有所帮助

    提示:我在初步使用pyautogui的过程中发现对于谷歌浏览器的click点击失效,其他尚未发现

    pyautogui的安装 

    可以使用cmd输入pip install pyautogui进行库的安装

    鼠标

    对鼠标的控制是基于屏幕上的位置的,比如我的电脑的显示分辨率是1920✖1080,也就是从屏幕的左上角开始,水平方向向右代表x,一行中有1920个小像素块,垂直方向向下代表y,一列中有1080个像素块,就像一个大坐标系,只不过整个屏幕中只有第一象限

    使用size获取屏幕的显示分辨率

    示例如下:

    from pyautogui import size
    x,y=size()
    print(x,y)

    如何进行python中pyautogui的安装和使用

     使用position获取鼠标当前位置

    from pyautogui import position
    x,y=position()
    print(x,y)

    如何进行python中pyautogui的安装和使用

    鼠标移动

    moveTo:把鼠标移动到屏幕的某个位置

    上面可知左上角的坐标是(0,0),右下角就是(1920,1080),示例如下

    from pyautogui import moveTo
    moveTo(1684,1059,duration=3)#1684和1059是要移动到的位置,duration表示执行该移动的时间,单位是秒

    moveRel(move):基于当前位置进行移动

    from pyautogui import moveTo,moveRel
     
    moveRel(100,200,duration=2)
    #从当前鼠标所在的位置移动到向右100,向下200的位置,过程时间设定为2秒

    鼠标点击

    click:单击鼠标

    from pyautogui import click
    #click中指定了坐标,也是可以设置从执行到点击这个位置的duration时间,以及左边,中间还是右键
    click(100,200,button='left',duration=2)
    click(100,200,button='middle')
    click(100,200,button='right')

     doubleClick:双击鼠标

    from pyautogui import doubleClick
    #参数与单击相同,只不过现在是双击鼠标
    doubleClick(100,200,button='left',duration=2)
    doubleClick(100,200,button='middle')
    doubleClick(100,200,button='right')

    mouseDown和mouseUp:鼠标的按下与释放 

    from pyautogui import mouseDown,mouseUp
    mouseDown()   # 鼠标按下
    mouseUp()    # 鼠标释放

    鼠标拖动

     dragTo:拖动鼠标到某位置

    dragRel:根据当前位置对数表进行拖动

    鼠标拖动与鼠标移动类似,但相比较,做了一个移动窗口的区别测试

    from pyautogui import moveTo,mouseDown,mouseUp
     
    mouseDown(button='left')
    moveTo(1000,500)
    mouseUp(button='left')
    from pyautogui import dragTo,mouseDown,mouseUp
     
    mouseDown(button='left')
    dragTo(1000,500)
    mouseUp(button='left')

    在测试的时候发现,moveTo和鼠标按下相结合可以实现对某窗口的拖动,但是dragTo不可以

    鼠标滚动

    from pyautogui import scroll
     
    scroll(300)#传入一个整数,正数表示向上滑动滚轮
    scroll(-300)#向下滑动滚轮

    屏幕处理

    screenshot:截取全屏

    截图将保存在脚本保存的同一目录下

    from pyautogui import screenshot
    screenshot().save('屏幕截图.png')#jpg格式也支持,其他格式请尝试

    crop截取任意大小的截图 ,比如crop((

    locateOnScreen:查找截图位置

     这里查找截图位置是在屏幕上查找,找到和保存的截图符合的位置

    from pyautogui import locateOnScreen
    print(locateOnScreen('屏幕截图.png'))

    键盘输入

    keyDown和keyUp:键盘按下和键盘释放

    通过键盘的按下与释放可以实现多键同时按下,比如ctrl+v的粘贴等,为了实现多键同时,我们还有hotkey('ctrl','c'),可以接受多个参数,按照传入顺序按下,再按照相反的顺序释放

    from pyautogui import keyDown,keyUp
    keyDown('space')   # 按下空格键
    keyUp('space')    # 释放空格键
     
    keyDown('ctrl')   
    keyDown('c')
    keyUp('c') 
    keyUp('ctrl') 
     
    hotkey('ctrl','c')

    press:按键后立即释放

    可以看作按下和释放的一个组合,比如我们要发送消息,按enter键,按完之后就会释放,因此press应用起来较多

    字母的大小写不影响按键,比如Enter,我们可与编写为press('enter'),press('ENter')

    有的键位有两个,比如Shift,在后面加上left或者right,press('shiftleft')

    需要强调的是enter按键公认为换行,可以用\n代替,即press('enter')=press('\n'),tab键可用\t代替

    上下左右键分别为up,down,left,right

    typewrite():连续打字

    这里的typewrite可以识别大小写

    from pyautogui import typewrite
    typewrite('ceshi',0.5)
    #第一个参数是要输入的内容,第二个参数是每次按键的间隔时间
    typewrite(['c','e','s','h','i'])
    #也可以传入一个单个字符串的列表
    typewrite(['S','u','n'])#typewrite('Sun',0.5)
    #将会输入大写的S

    提示信息

    提示框

    from pyautogui import alert
    print(alert(text='一个测试',title='test'))
    #点击确定后将返回OK

    如何进行python中pyautogui的安装和使用

     选择框

    from pyautogui import confirm
    print(confirm('请选择性别',buttons=['男','女']))
    #将输出你的点击项

    如何进行python中pyautogui的安装和使用

    输入密码

    from pyautogui import password
    print(password('请输入你的密码'))
    #将输出刚才输入的密码

    如何进行python中pyautogui的安装和使用

    输入普通内容

    from pyautogui import prompt
    print(prompt('请输入你的账号'))
    #将返回刚才输入的内容

    如何进行python中pyautogui的安装和使用

    以上就是如何进行python中pyautogui的安装和使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI