Py之PyAutoGUI:python库之PyAutoGUI的简介、安装、使用方法

简介: Py之PyAutoGUI:python库之PyAutoGUI的简介、安装、使用方法

PyAutoGUI的简介


   PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,利用它可以实现自动化任务。让所有GUI都自动化¶ 本教程译自大神Al Sweigart的PyAutoGUI项目,Python自动化工具,更适合处理GUI任务,网页任务推荐。PyAutoGUI可以模拟鼠标的移动、点击、拖拽,键盘按键输入、按住操作,以及鼠标+键盘的热键同时按住等操作,可以说手能动的都可以。


    The purpose of PyAutoGUI is to provide a cross-platform Python module for GUI automation for human beings. The API is designed to be as simple as possible with sensible defaults.


参考文献

Welcome to PyAutoGUI’s documentation

Doc PyAutoGUI


PyAutoGUI的安装


pip install pyautogui

image.png


哈哈,大功告成!



PyAutoGUI的使用方法

#关于库下函数使用方法概况<br>import pyautogui

#关于屏幕分辨率、鼠标坐标等

position=pyautogui.position()

resolution=pyautogui.size()  

if_position=pyautogui.onScreen(1900, 2000)

print(position,resolution,if_position)

#1.1、关于鼠标光标定位

pyautogui.moveTo(screenWidth / 2, screenHeight / 2)

pyautogui.moveTo(100,100)                          

pyautogui.moveTo(x=10, y=10, duration=3)  

#缓动/渐变、Tween/Easing函数:这些效果函数是模仿Al Sweigart的PyTweening模块,可以直接使用,不需要额外安装。

pyautogui.moveTo(100, 100, 2, pyautogui.easeInQuad)    

pyautogui.moveTo(100, 100, 2, pyautogui.easeOutQuad)  

pyautogui.moveTo(100, 100, 2, pyautogui.easeInOutQuad)

pyautogui.moveTo(100, 100, 2, pyautogui.easeInBounce)  

pyautogui.moveTo(100, 100, 2, pyautogui.easeInElastic)

pyautogui.moveRel(None, 10)

pyautogui.moveRel(xOffset=1000, yOffset=1000, duration=6)

#1.2、关于鼠标按下松开

pyautogui.mouseDown(button='right'); pyautogui.mouseUp(button='right')      

pyautogui.mouseDown(button='right')            

pyautogui.mouseUp(button='right', x=100, y=200)

#1.3、关于鼠标点击

#为了操作方便,PyAutoGUI提供了doubleClick()、tripleClick()、rightClick()来实现双击、三击、右击操作

#pyautogui.click(x=moveToX, y=moveToY, clicks=num_of_clicks, interval=secs_between_clicks, button='left')

pyautogui.click(x=100, y=200, duration=2)                

pyautogui.click(button='right', clicks=2, interval=0.25)

pyautogui.dragTo(300, 400, 2, button='left')            

#1.4、关于鼠标滚动

# pyautogui.scroll(clicks=amount_to_scroll, x=moveToX, y=moveToY)

pyautogui.scroll(10)              

pyautogui.scroll(10, x=100, y=100)

#2.1、关于键盘按下松开

key_name=pyautogui.KEYBOARD_KEYS[:10]

pyautogui.keyDown(key_name)          

pyautogui.keyUp(key_name)

#2.2typewrite()普通键:键盘上可以按的键都可以调用,typewrite()函数只能用于单个字符键,不能按SHITF和F1这些功能键。

pyautogui.typewrite('Hello world!\n', interval=0.1)

pyautogui.typewrite(['a', 'b', 'c', 'left', 'backspace', 'enter', 'f1'], interval=secs_between_keys)

#2.3press()功能键:press()函数其实是keyDown()和keyUp()函数的包装,模拟的按下然后松开两个动作。

pyautogui.press('esc')

pyautogui.press('enter')

pyautogui.press('f1')

pyautogui.press('left')

pyautogui.keyUp('shift')

#2.4热键组合;('ctrl', 'a')全选、('ctrl', 'c')复制、('ctrl', 'v')粘贴

pyautogui.hotkey('ctrl', 'a')

#3、关于消息弹窗函数:

pyautogui.alert('这个消息弹窗是文字+OK按钮')

pyautogui.confirm('这个消息弹窗是文字+OK+Cancel按钮')

pyautogui.prompt('这个消息弹窗是让用户输入消息的,单击OK')

#4、关于截屏的函数:屏幕位置使用X和Y轴的笛卡尔坐标系。原点(0,0)在左上角,分别向右、向下增大。  如果屏幕像素是 1920×10801920×1080 ,那么右下角的坐标是(1919, 1079)。

pyautogui.screenshot('C:/Users/99386/Desktop/screenshot.png')

position_four=pyautogui.locateOnScreen('C:/Users/99386/Desktop/screenshot.png')

for i in pyautogui.locateAllOnScreen('C:/Users/99386/Desktop/screenshot.png'):

   print(i)

list1=list(pyautogui.locateAllOnScreen('C:/Users/99386/Desktop/screenshot.png'))

position_center=pyautogui.locateCenterOnScreen('C:/Users/99386/Desktop/screenshot.png')

print(position_four,list1,position_center)



相关文章
|
14天前
|
XML 存储 数据库
Python中的xmltodict库
xmltodict是Python中用于处理XML数据的强大库,可将XML数据与Python字典相互转换,适用于Web服务、配置文件读取及数据转换等场景。通过`parse`和`unparse`函数,轻松实现XML与字典间的转换,支持复杂结构和属性处理,并能有效管理错误。此外,还提供了实战案例,展示如何从XML配置文件中读取数据库连接信息并使用。
Python中的xmltodict库
|
21天前
|
数据库 Python
异步编程不再难!Python asyncio库实战,让你的代码流畅如丝!
在编程中,随着应用复杂度的提升,对并发和异步处理的需求日益增长。Python的asyncio库通过async和await关键字,简化了异步编程,使其变得流畅高效。本文将通过实战示例,介绍异步编程的基本概念、如何使用asyncio编写异步代码以及处理多个异步任务的方法,帮助你掌握异步编程技巧,提高代码性能。
53 4
|
20天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
前端开发
Python+selenium 自动化高级应用篇:借助pyautogui实现web前端带轨迹拖拽功能,解决ActionChains拖拽失效问题
Python+selenium 自动化高级应用篇:借助pyautogui实现web前端带轨迹拖拽功能,解决ActionChains拖拽失效问题
502 0
Python+selenium 自动化高级应用篇:借助pyautogui实现web前端带轨迹拖拽功能,解决ActionChains拖拽失效问题
|
10天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
16天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
16天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
16天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
3天前
|
Python
Python编程入门:从零开始的代码旅程
本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。
|
7天前
|
数据采集 存储 数据处理
Python中的多线程编程及其在数据处理中的应用
本文深入探讨了Python中多线程编程的概念、原理和实现方法,并详细介绍了其在数据处理领域的应用。通过对比单线程与多线程的性能差异,展示了多线程编程在提升程序运行效率方面的显著优势。文章还提供了实际案例,帮助读者更好地理解和掌握多线程编程技术。