使用pyautogui和inspect快速准确定位鼠标位置
@[TOC] 1.前言
1.前言
最近在研究客户端软件进行Python自动化测试时,知道了pyautogui这个库,然后在csdn搜索相关资料时,看到某位老师写的文章,文章在此:女朋友让我深夜十二点催她睡觉,我有Python我就不干
看完文章和不少小伙伴都跃跃欲试,结果发现定位鼠标时出现了问题,大概就是鼠标本来定位在A点,但是运行Python程序时,鼠标位置变化了,获取到的坐标不正确,可能有的小伙伴要说了,那我用快捷键启动程序,如果鼠标单击在其他地方,比如微信输入框,这时候快捷键也是不生效的,有没有更好的办法?
2.屏幕分辨率和坐标系
如图,是最常见的1920*1080屏幕,屏幕左上角为(0,0)右下角为(1919,1079)不是(1920,1080)哈。向下为Y+,向右为X+。
3.pyautogui
PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,利用它可以实现自动化任务.
安装:
安装比较简单
pip install pyautogui #方法1
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyautogui #网不好的试试清华这个镜像地址
pyautogui的方法比较多,站内可以查到,在此不再赘述。此次主要讨论获取鼠标地址,试验position函数。
x,y = pyautogui.position() #获取鼠标当前位置
print ("当前鼠标的X轴的位置为:{},Y轴的位置为:{}".format(x,y)) #控制台打印出来
当前鼠标的X轴的位置为:931,Y轴的位置为:777
但是你会发现,当在微信输入框时,再去点击运行run获取的鼠标位置就不对了,这是因为运行程序时,鼠标位置发生了变化,如图定位在记事本输入:
错误位置:
正确位置:
可能有的小伙伴想到了,对了,写一个死循环,程序跑起来再去点击鼠标定位
import time
import pyautoguiwhile True:print("Press Ctrl+F2 to end")# 获取屏幕的尺寸,主要后面做简单验证,这两行代码可以省略screenWidth, screenHeight = pyautogui.size()print(screenWidth, screenHeight)# 获取当前鼠标的位置print(f'鼠标当前位置为:{pyautogui.position()}')time.sleep(1)
这种方法比较笨,有没有更简单的方法呢?
那就是借助辅助工具inspect
inspect:
Inspect 自动化测试辅助工具
使用起来比较简单,打开软件,移动鼠标,注意How found 那一行,mouse move括号里即是鼠标当前位置
是不是很好用,比代码获取简单多了,小伙伴有更好的方法可以留言~~~
使用pyautogui和inspect快速准确定位鼠标位置相关推荐
- 用计算机查找文件地址吗,如何快速搜索电脑里的文件( 快速准确定位和查找电脑文件位置的方法...
今天给大家带来如何快速搜索电脑里的文件(,快速准确定位和查找电脑文件位置的方法,让您轻松解决问题. 怎样快速搜索电脑里的文件 如何快速准确定位和查找电脑文件位.我们在使用电脑的时候,经常需要进行一些操 ...
- 利用.dSYM和.app文件准确定位Crash位置
当发布到iPhone上的应用程序Crash之后,iPhone会自动生成一个Crash Log(*.crash),这个文件包含了一些有用的调试信息,但对于堆栈,它只记录的函数地址,而无法显示函数名.函数 ...
- iOS- 利用.dSYM和.app文件准确定位Crash位置
首先,确保在release(Ad Hoc或者App Store)一个版本时,保存了对应的xxx.app和xxx.dSYM文件. 其次,验证xxx.crash.xxx.app和xxx.dSYM三者的uu ...
- DbVisualizer 10破解之后,在输入框使用光标无法准确定位字符
问题: DbVisualizer 10 费了九牛二虎之力破解之后,发现在对话框中使用鼠标定位SQL语句时,光标无法准确地停留在鼠标点击的位置,困扰好长时间,一直怀疑没有真正的破解成功,导致每次写SQL ...
- 物流企业信息化 准确定位应该如何做
现代物流的根本宗旨是提高物流效率.降低物流成本.满足客户需求,并越来越呈现出信息化.网络化.自动化.智能化.标准化等发展趋势,其中信息化是现代物流的核心.现代物流充分利用现代信息技术,打破了运输环节独 ...
- Selenium+iframe准确定位元素
简单介绍 我们发现该网站有两个框架: 网页代码如下所示: 我们发现iframe对应着单独的一个框架,因此我们定位元素时,要判断该元素有没有嵌套在iframe框架中. 程序示例 以天猫登陆界面为例,网址 ...
- 发信时如何准确定位客户资源?
发信时如何准确定位客户资源?首先,找到精准的客户资源!以下是米贸搜整理的筛选客户和客户分析的方法,希望对你有所帮助. 外贸推广_外贸建站_海外广告投放 - 米贸搜官网 (yimirj.com) 客户资 ...
- 如何才能快速准确地获得客户资源?
关于如何快速准确的获得客户,米贸搜整理了以下方法,希望可以帮助到你 一.获取新客户的关键要素 1.建立用户画像 许多企业似乎为获得新客户付出了很多努力.其实很多行为都是盲目的,最后的结果也没有预想的那 ...
- Unity UGUI获取鼠标在屏幕的准确点击位置
想要获取鼠标在屏幕的准确点击位置,千万不要胡乱写,什么转化坐标系,什么Ray射线检测都是浮云. 1,转化坐标系只是相对而言,并不能准确实现当前鼠标点击在屏幕的位置: 2,Ray检测,hit是需要碰撞的 ...
最新文章
- Array Networks ***官网 客户端下载地址
- 关于Horizon 7 Agent与远程桌面(mstsc)兼容性问题解决办法
- tableexport 文件格式和扩展名不匹配_好多公司都要用的一些知识点Office办公软件、文件加密、文件扩展名!...
- 安卓手机可以用python编程软件-python可以编写手机应用吗
- 编程5年了,养成的臭脾气
- Java Review - 并发编程_独占锁ReentrantLock原理源码剖析
- Acrobat XI安装教程
- keil5安装_keil5,软件安装包及安装教程
- Linux shell 中$() ` `,${},$[] $(()),[ ] (( )) [[ ]]作用与区别
- 1 数列分块入门_线性代数入门——关于分块矩阵的典型证明题与综合题
- python做定时任务api_Python—定时任务(APScheduler实现)
- 关于Ubuntu下apt的一些用法及和yum的比较
- C语言:判断三角形是否为直角三角形
- Python空间分析| 03 利用Python进行地理加权回归(GWR)
- shp系列(四)——利用C++进行Shx文件的读(打开)
- 计算机丢失dll文件怎么弄,电脑缺少dll文件怎么办
- 刻录服务器系统光盘,系统光盘制作
- 网站流量分析的整体思路(大数据)
- java 克隆对象_Java中克隆(Clone)一个对象
- U盘打不开或者不显示
热门文章
- 走进通信:为什么4G信号满格,却上不了网呢
- Sci-Hub十周年迎来解封!科研er的福音!附可用网址!
- GitHub 开源神器 Bark模型,让文本转语音更简单
- ExpandableListView 添加分割线
- 3.11 污点和容忍度
- 狂野飙车4java游戏音乐_狂野飙车8赛车背景音乐名称大全
- 鼠标点击网页空白处出现手机号
- 直播粉丝统计平台 抖音直播粉丝 如何查看直播间的粉丝人数 如何查看主播直播数据记录
- Intel graphics HD 4600 核芯显卡 对比 nVIDIA Geforce GTX 750 2GB GDDR5 独立显卡
- 基于头条新闻数据的文本分类系统实战