1.GUI自动化

●GUI自动化就是写程序直接控制键盘和鼠标。这些程序可以控制其他应用,向它们发送虚拟的击键和鼠标点击,就像你自己坐在计算机前与应用交互-样。这种技术被称为“图形用户界面自动化”,或简称为“GUI自动化"。有了GUI自动化,你的程序就像-个活人用户坐在计算机前一样,能做任何事情,除了将咖啡泼在键盘上。
●也可以将GUI自动化看成是对一个机械臂编程。你可以对机械臂编程,让它敲键盘或移动鼠标。对于涉及许多无脑点击或填表的任务,这种技术特别有用。

pip install pyautogui

1.1 鼠标移动操作

pyautogui坐标的处理

  • pyautogui的鼠标函数使用X、y坐标。原点的x、y都是零,在屏幕的左上角。向右X坐标增加,向下y坐标增加。所有坐标都是正整数,没有负数坐标。

●分辨率

  • 分辨率是屏幕的宽和高有多少像素。如果屏幕的分辨率设置为1920 x 1080, 那么左上角的坐标是(0, 0),右下角的坐标是(1919, 1079) 。

●编程获取电脑屏幕的宽和高的像素数

  • pyautoguisize0 函数返回两个整数的元组,包含屏幕的宽和高的像素数
import pyautoguiwidth, height=pyautogui.size( )
print(width, height)1920 1080

●移动鼠标

  • pyautogui.moveTo0函数将鼠标立即移动到屏幕的指定位置。
  • 表示x、y坐标的整数值分别构成了函数的第一个和第二个参数。
  • 可选的duration整数或浮点数关键字参数,指定了将鼠标移到目的位置所需的秒数。如果不指定,默认值是零,表示立即移动(在 PyAutoGUI函数中,所有的duration 关键字参数都是可选的)。
import pyautogui
for i in range(5):pyautogui.moveTo(100,100, duration=0.25)pyautogui.moveTo(200,100, duration=0.25)pyautogui.moveTo(200,200, duration=0.25)pyautogui.moveTo(100,200,duration=0.25)#在屏幕左上角画矩形

●pyautogul.moveRel0 函数相对于当前的位置移动鼠标

  • 该函数可以接受3个参数:向右水平移动多少个像素,向下垂直移动多少个像素,以及(可选的) 花多少时间完成移动。为第一第二个参数提供负整数,鼠标将向左或向上移动。
import pyautogui
for i in range(5):pyautogui.moveRel(100,0,duration=0.25 )pyautogui.moveRel(0,100, duration=0.25)pyautogui.moveRe1(-100,0,duration=0.25)pyautogui.moveRel(0,-100, duration=0.25)

●获取鼠标位置

  • 通过调用pyautogui.position()函数,可以确定鼠标当前的位置。它将返回函数调用时,鼠标x、y坐标的元组。
pyautogui.position()

1.2 鼠标点击操作

●鼠标点击

  • 要向计算机发送虚拟的鼠标点击,就调用pyautogui.click0 方法。默认情况下,点击将使用鼠标左键,点击发生在鼠标当前所在位置。如果希望点击在鼠标当前位置以外的地方发生,可以传入X、y坐标作为可选的第- -第二参 数。

●指定鼠标按键

  • 如果想指定鼠标按键,就加入button关键字参数,值分别为left'、 'middle'或 'right'。例如,pyautogui.click (100,150,button='left') 将在坐标(100, 150) 处点击鼠标左键。而pyautogui.click (200, 250, button='right') 将在坐标(200, 250)处点击右键。

实现点击的其他方法
■pyautogui. mouseDown(

  • 只是按下鼠标按键

pyautogui.mouseUp0

  • 只是释放鼠标按键

■pyautogui.doubleClick0

  • 执行双击鼠标左键

■pyautogui.rightClick0, pyautogui.middleClick0

  • 分别执行双击右键和双击中键

1.3 鼠标拖动操作

import pyautogui, time
time.sleep(2) #给个延迟
pyautogui.click()
distance = 200
while distance > 0:
pyautogui.dragRel (distance, 0,duration=0.2, button='left') # move right
distance = distance - 5
pyautogui.dragRel(0, distance, duration=0.2 , button='left') # move down
pyautogui.dragRel ( -distance, 0,duration=0.2,button='left') # move left
distance = distance - 5
pyautogui.dragRel(0, -distance, duration=0 .2, button='left') # move up

画矩形:

1.4 鼠标滚动操作

滚动鼠标

  • 最后一个pyautogui鼠标函数是scroll)。 你向它提供一个整型参 数,说明向上或向下滚动多少单位,滚动发生在鼠标的当前位置。
  • 单位的意义在每个操作系统和应用上不一样,所以你必须试验,看看在你的情况下滚动多远。
  • 传递正整数表示向上滚动,传递负整数表示向下滚动
import pyautogui, time
time. sleep(2)
pyautogui.scroll(B00)

2.屏幕快照&图像识别基础

2.1 屏幕快照

你的GUI自动化程序没有必要盲目地点击和输入。pyautogui 拥有屏幕快照的功能,可以根据当前屏幕的内容创建图形文件。
●注意:

  • 在Linux计算机上,需要安装scrot程序,才能在pyautogui中使用屏幕快照功能。在终端窗口中,执行sudo apt-get install scrot,安装该程序。如果你使用Windows或OS X,就跳过这一步获取屏幕快照【全局截图】
  • 要在Python中获取屏幕快照,就调用pyautogui.screenshot0函数,函数将返回包含一个屏幕快照的Image对象
import pyautogui
im = pyautogui.screenshot()
im.save('./ 123.png' )

import pyautogui
im.getpixel((23,56))#获取屏幕的RGB+透明度

import pyautogui
im = pyautogui . screenshot( )
print(im.getpixe1((500,200)))
result = pyautogui.pixelMatchesColor(500, 200, (248,248, 248) )
print(result)

2.2 图像识别基础

opencv:

【5】OpenCV2.4.9实现图像拼接与融合方法【SURF、SIFT、ORB、FAST、Harris角点 、stitch 】_汀、的博客-CSDN博客参考博客:OpenCV探索之路(二十四)图像拼接和图像融合技术SURF#include "highgui/highgui.hpp" #include "opencv2/nonfree/nonfree.hpp" #include "opencv2/legacy/legacy.hpp" #include <iostream> using namespace cv;using namespace std;void Optimiz...https://blog.csdn.net/sinat_39620217/article/details/116242853

python实现GUI自动化(控制鼠标)|屏幕快照图像识别基础相关推荐

  1. 用GUI 自动化控制鼠标和键盘

    GUI自动化,被称为 '图形用户界面自动化'.有人调侃过,有了GUI自动化,你的程序就像一个活人用户坐在计算机面前,能做任何事情,除了将咖啡泼在键盘上. 安装 pyautogui 模块 pyautog ...

  2. python pywinauto 单击鼠标_Python释放你的双手去成就梦想之自动化控制鼠标键盘

    抖音上经常看到,魔兽玩家为了不掉线让女友一直帮忙按空格键,而我这条单身狗出去吃个饭就要继续排队几小时,无奈只能自力更生,下面让我向大家介绍下如何自动化控制鼠标键盘,让我们从重复无聊的工作中解放出来. ...

  3. 通过python里面的pyautogui自动化控制鼠标和键盘操作

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux). 安装 pip3 install pyautog ...

  4. python自动控制库_python PyAUtoGUI库实现自动化控制鼠标键盘

    PyAutoGUI 不知道你有没有用过,它是一款用Python自动化控制键盘.鼠标的库.但凡是你不想手动重复操作的工作都可以用这个库来解决. 比如,我想半夜时候定时给发个微信,或者每天自动刷页面等操作 ...

  5. python反恐精英基础版_cs客户端自动化控制鼠标和键盘操作,python+pyautogui

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux). 安装 pip3 install pyautog ...

  6. pyautogui自动化控制鼠标和键盘操作

    pyautogui自动化控制鼠标和键盘操作 安装 pyautogui鼠标操作样例 pyautogui键盘操作样例 按键支持 提示信息 alert option password prompt 截屏 整 ...

  7. Python自动化控制鼠标和键盘操作—— PyAutoGUI

    简 介:PyAutoGUI是一个Python语言的键鼠自动化库,简单来说和按键精灵的功能一样.但是因为是Python的类库,所以可以使用Python代码配合一些其他类库完成更加强大的功能,本文对PyA ...

  8. python自动控制库_一个可以自动化控制鼠标键盘的库:PyAUtoGUI

    PyAutoGUI 不知道你们有没有用过,它是一款用Python自动化控制键盘.鼠标的库.但凡是你不想手动重复操作的工作都可以用这个库来解决. 如果,我想半夜时候定时给发个微信,或者每天自动刷页面等操 ...

  9. PyAutoGUI——自动化控制鼠标和键盘操作

    PyAutoGUI模块通过屏幕xy坐标系统确定目标位置,控制鼠标和键盘发送虚拟击键和鼠标点击,完成点击按钮.填写表单等操作,在没有模块对应你要操作的无聊任务的时候,也不失为一个不错的选择. PyAut ...

最新文章

  1. 【Nginx】 server 配置记录
  2. STL 之search,search_n,sort,binary_search
  3. 网站域名过户查询_网站建设哪家好?网站建设怎么收费?
  4. 一小时过c语言,一小时学会C语言.docx
  5. OllyDBG反汇编快速找到程序入口一点分析
  6. WPF快速指导2:模板
  7. python函数的参数可以接收哪些类型的数据_python强势来袭-0015-函数中的参数-送礼开始...
  8. scala切片_Scala切片功能
  9. [SUCTF 2018]GetShell 中文字符取反绕过
  10. 大工之星编程挑战赛第五周题解
  11. android 放大镜功能,利用Android实现一个放大镜功能
  12. 2018.8.10Yukimai模拟Day1
  13. 微信公众号配置测试账号获取code
  14. MySQL权限授权认证详解
  15. [XDOJ]开灯问题
  16. CSS在浏览器不能加载出来的解决方案
  17. 在vim中使用查找命令查找指定字符串
  18. 无人便利店风口盛起,谁是最后赢家?
  19. Bzoj2251 [2010Beijing Wc]外星联络
  20. 理科男的浪漫——定制月球灯之旅

热门文章

  1. 【python种子项目ppc】一行代码生成项目与开发详细指导
  2. NLP指南 Your Guide to Natural Language Processing (NLP)
  3. 恒驰冬测 恒大汽车迎性能大考
  4. 互联网测试校招系列2:准备越充分,机会越大!
  5. DCDC相关故障分析记录
  6. 木马逆名欺骗:利用unicode控制符RLO
  7. Android Studio Chipmunk | 2021.2.1 Patch 2(2022 年 8 月)
  8. HDU 4123 树状DP+RMQ
  9. 大一上:英语复习:英译汉(新视野大学英语读写教程1:第一、三、四、六单元分句+注释)
  10. wo de wen jian