pyautogui之locateOnScreen图片输出坐标

您所在的位置:网站首页 java屏幕找图 pyautogui之locateOnScreen图片输出坐标

pyautogui之locateOnScreen图片输出坐标

2023-03-02 08:28| 来源: 网络整理| 查看: 265

最近在做PC端应用程序自动化测试,由于程序是C++和VB结合的,使用工具无法像做APP自动化那样实现元素定位,且有些页面无法获取元素,故无意中发现了Python一个神奇的库:pyautogui。使用pyautogui可实现对页面图片坐标定位,这样就解决了当一个页面存在多个元素且无法或者元素坐标的问题。

一、环境准备

1、安装并导入pyautogui库

pip install pyautogui

import pyautogui as auto

2、准备需要识别的图片

二、解决思路

通过已存在的图片,在程序当中找到该图片的坐标,为后续提供坐标点操作

三、实现步骤

1、这里应用程序图就不贴出来了(你懂得),图片在项目中的路径

2、实现代码

from conf.config import * import pyautogui as auto from time import sleep from pymouse import PyMouse from pykeyboard import PyKeyboard # 识别图片并转换为x,y坐标,定位到name def im_dis(): try: number1_location = auto.locateOnScreen('F:/HIS/Script/wm/img/2.png') # 传入按钮的图片 print(number1_location) # 返回屏幕所在位置 x, y = auto.center(number1_location) # 转化为 x,y坐标 print(x, y) return x, y except TypeError: print("A TypeError has been occured!") # 分别住院床位 def im_cw(): number1_location = auto.locateOnScreen('F:/HIS/Script/wm/img/1.png') # 传入按钮的图片 print(number1_location) # 返回屏幕所在位置 x, y = auto.center(number1_location) # 转化为 x,y坐标 return x,y if __name__ == "__main__": driver = win_start() sleep(5) m = PyMouse() k = PyKeyboard() m.click(435, 427) # 坐标定位到 门诊管理系统 sleep(2) # x, y 是坐标位置 button 1 表示左键,2 表示点击右键 n点击次数,默认是1次, 2表示双击 m.click(265, 568, 1, 2) # 定位到 门诊收费 sleep(8) m.click(48, 25) # 定位患者管理 sleep(1) m.click(83, 76) # 定位病区一览表 sleep(10) m.click(646, 622) x, y = im_cw() print(x, y) sleep(3)

3、输出结果

这样就实现了图片的坐标问题,为后续开展自动化测试工作提供了有力支撑。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3