Python三方库PyAutoGUI的使用方法

摘要:
皮塔圭。moveTo移动到某个坐标,持续时间表示移动到目标所需的秒数。x、 Y可以是负数3.2。获取鼠标位置。pyautigui。poston()返回到鼠标位置。3.3单击pyautogui。单击()。默认情况下,单击pyautogui。在当前位置单击以在指定位置单击鼠标左键。按钮可以是“左”、“中”、“右”按钮。mouseDown()按住pyautogui。mouseUp()释放鼠标按钮pyautogui。双击()双击左侧按钮pyautogui。rightClick()双击右按钮pyautogui。middleClick()双击中间按钮3.4拖动鼠标pyautogui。dragTo()将鼠标拖动到pyautogui位置。dragRel()相对于当前拖动到距离3.5的位置滚动鼠标pyautogui。上下滚动第三单元。处理屏幕需要安装一个scrot,以便在pyautogui中使用屏幕截图功能。
通过ssh远程执行脚本的时候,需要加上:
import os
os.environ["DISPLAY"] = ":0" # 注意这行代码需要写在"import pyautogui"之前
import pyautogui
1.安装:
sudo pip3 install python3-xlib
sudo apt-get install scrot
sudo apt-get install python3-tk
sudo apt-get install python3-dev
sudo pip3 install pyautogui
2.暂停和自动放故障
pyautogui.PAUSE = 1,每个执行动作之后,都会等待1s
pyautogui.FAILSAFE = True,启动自动防故障功能(鼠标移到屏幕的做上角,将导致pyautogui产生pyautogui.FailSafeException异常)在自动化测试项目中,为了不自动跳出用例脚本,通常设置未False
3.鼠标操作

3.1 控制鼠标移动

pyautogui.size() 返回两个整数元素,包含屏幕的宽和高的像素数。
pyautogui.moveTo(x, y, duration=0.25)移动到某个坐标,duration表示移动到目的位置所需的秒数。
pyautogui.moveRel(x, y, duration=0.25)相对于当前位置移动鼠标。x,y可以为负数

3.2 获取鼠标位置

pyautigui.positon()返回鼠标的位置

3.3 点击鼠标

pyautogui.click() 默认左键在当前位置点击
pyautogui.click(x, y, button='left')在指定位置左键点击,button可以为'left','middle','right'
pyautogui.mouseDown()按下不放
pyautogui.mouseUp()释放鼠标按键
pyautogui.doubleClick()双击左键
pyautogui.rightClick()双击右键
pyautogui.middleClick()双击中键

3.4 拖动鼠标

pyautogui.dragTo()鼠标拖动到一个位置
pyautogui.dragRel()相对当前拖到一个距离的位置

3.5 滚动鼠标

pyautogui.scroll(number) 上下滚动的单位
3.处理屏幕

需安装scrot,才能在pyautogui中使用屏幕快照功能。sudo apt-get install scrot

3.1获取屏幕快照

image = pyautogui.screenshot() ,image是一个屏幕快照的对象
image.getpixel(x, y) 返回图像中坐标处的像素对象,返回值是一个RGB元组,包含3个整数。

3.2分析屏幕快照

pyauto.pixelMatchesColor(50, 200,(130,135,144)) >>True
4.图像识别

实际使用下来有点问题,如果图标比较小的情况,无法定位,图像识别建议使用opencv模板匹配

pyautogui.locateOnScreen("xxx.png") >>(643, 745, 70, 29)
返回4个整数的元素,分别是屏幕上首次发现该图像时左边的x坐标、顶边的y坐标、宽度以及高度。
如果该图像在屏幕上能够找到多出,locateAllOnScreen()函数将返回一个对象,将它传给list(),返回一个4整数元组的列表。
list(pyautogui.locateAllOnScreen("xxx.png")) 
pyautogui.center((643, 745, 70, 29)) >>返回图像区域的中心坐标
5.键盘操作
pyautogui.typewrite("message") 输入内容
pyautogui.typewrite(['ctrl','alt','a','left'])从左到右,先后顺序按键盘的按键
pyautogui.keyDown('shift')按住不放
pyautogui.keyUp()键盘松开
pyautogui.press('ctrl')单个按键
pyautogui.hotkey('ctrl','c')组合按键(同时按)

免责声明:文章转载自《Python三方库PyAutoGUI的使用方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇OPENDATASOURCE (TransactSQL)Apache HTTP服务器扩展模块的工具-apxs下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python脚本与Metasploit交互攻击

Metasploit是一款强大的漏洞扫描和利用工具,编写Python脚本与Metasploit进行交互,可以自动化的扫描和利用漏洞。 相关文章:Metasploit框架的使用 在脚本中,我们首选需要利用 nmap 模块扫描目标主机是否开放了445端口,我们写了一个 findTarget()函数,来扫描给定ip或者给定网段中开放了目标端口的主机,返回开放了4...

ubuntu12.04 安装完XRDP显示空白桌面

先放链接:http://c-nergy.be/blog/?p=3518 在ubuntu软件中心搜索:fallback session,安装gnome-session-fallback; 在主文件夹(home)新建文件名为.xsession的文件,编辑内容:"gnome-session --session=gnome-fallback"; 重启xrdp:"s...

使用boost.python进行混合开发

使用boost.python进行混合开发 原文请参照官网和各方参考,本文有改动! 参考链接:http://blog.csdn.net/lanbing510/article/details/12197901 引言: 1简介: Boost.Python 是Boost的一个组件。而Boost是目前很红火的准C++标准库,它提供了很多组件使得人们可以用C++语言更...

Kali Linux下的软件安装

新系统直接安装软件,常常被提示缺少依赖的包。 经过以下步骤可以解决缺少依赖的问题。 首先sudo apt-get -f install,修复安装。 sudo apt-get update,更新源。 sudo apt-get install aptitude。安装aptitude。 sudo aptitude update && sudo a...

Ubuntu1804安装Postgresql【转】

转载自:https://huur.cn/course/yw/1591.html 关系数据库管理系统是许多网站和应用程序的关键组成部分。它们提供了一种结构化的方式来存储,组织和访问信息。 PostgreSQL或Postgres是一个关系数据库管理系统,提供SQL查询语言的实现。它是许多小型和大型项目的流行选择,并且具有符合标准并具有许多高级功能(如可靠事务和...

好用的Linux下PDF编辑批注软件PDF Studio Pro 11

在Windows下,常用foxit phantom,既能查看PDF,又能修改页面,还能各种批注。linux下,Evince查看、文本注释、高亮注释还不错。但是功能就这么多了,要更多的话,修改用pdfedit、pdf mod,加注记用Xournal,合并用pdktk等等。难道没有更强大的了吗?找到PDF Studio Pro,功能都有了,很好用。 来源:...