使用pyautogui实现坐标定位,自动化
pyautogui是一款自动化操作库,可以根据图片定位到坐标,其原理是截取一张桌面图片,然后根据传入的图片,去查找图片在桌面上的坐标,如果按照了opencv,则会优先使用opencv,否则使用pillow。
pyautuogui的方法可以参考https://blog.csdn.net/qq350146607/article/details/99409295 这篇文章,或者鼠标点在pyautogui方法上,按ctrl+B查看源码
使用pyautogui对上篇中的User-Agent Switcher扩展插件进行自动化切换ua,
import pyautogui
import pyperclip
import random
useragents=['Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36']
ua_refresh.png
ua0.png
ua1.png
ua2.png
ua3.png
ua40.png
ua41.png
ua42.png
ua5.png
def left_click(path): #左键点击left_click1 = pyautogui.locateOnScreen(path)print('left_click1::', left_click1) # 返回屏幕所在位置if left_click1:url_x, url_y = pyautogui.center(left_click1)pyautogui.leftClick(url_x, url_y)return Truereturn Falsedef change_ua():ua=random.choice(useragents)for i in range(2):result0 = left_click('./images/ua{}.png'.format(i))if result0:breakresult2 = left_click('./images/ua2.png')result3 = left_click('./images/ua3.png')result4 = left_click('./images/ua40.png')for j in range(1,3):result5 = left_click('./images/ua4{}.png'.format(j))if result5:pyautogui.hotkey('ctrl','a')pyautogui.hotkey('backspace')pyperclip.copy(ua)pyautogui.hotkey('ctrl', 'v')pyautogui.press('enter')result6 = left_click('./images/ua_refresh.png')left_click('./images/ua5.png')
pyperclip 执行鼠标复制,pyautogui.hotkey执行快捷键,pyautogui的缺点是可移植性差,根据图片定位,浏览器界面尺寸稍微变化,就会定位不到
保持浏览器始终前置,并固定其位置
titlename = pyautogui.getActiveWindowTitle()
hwnd = win32gui.FindWindow(0, titlename) #获取句柄
left, top, right, bottom = win32gui.GetWindowRect(hwnd)
win32gui.SetWindowPos(hwnd,win32con.HWND_TOPMOST,0, 0, 1061, 878, win32con.SWP_SHOWWINDOW)
使用pyautogui实现坐标定位,自动化相关推荐
- UI自动化之driver.Tap坐标定位
相信做UI自动化的小伙伴都知道,appium不是左右页面的元素都能定位的到的,尤其是原生中嵌套了H5页面,所有这个时候我们可以通过坐标定位的方式去解决,理论上坐标定位可以解决所有的元素识别问题,但有一 ...
- Python+Appium自动化测试-通过坐标定位元素
在使用appium做app自动化测试的过程中,可能会遇到元素的属性值不是唯一的情况,导致不能通过find_element_bi_xx()方法定位元素,这个时候我们就可以通过坐标来定位元素. 1,通过绝 ...
- [607]appium根据屏幕大小滑动界面|通过坐标定位元素
文章目录 appium根据屏幕大小滑动界面 通过坐标定位元素 appium根据屏幕大小滑动界面 driver.get_window_size() 获取屏幕的宽.高: driver.swipe() 从坐 ...
- Appium相对坐标定位元素
Appium当前页面为h5页面,UIAutomatorviewer无法获取页面来定位元素,通过坐标模拟点击手机屏幕定位 自动化环境 设备:Android 脚本语言:Python 元素定位 手机坐标定位 ...
- LabVIEW实现PCB电路板坐标定位(实战篇—2)
目录 1.项目背景 2.坐标校准原理 3.坐标校准方法 4.环境搭建 5.项目实践 1.项目背景 在机器视觉实际工程实践中,有时使用NI Vision定义的默认坐标系进行测量控制并不是很直接.例如,检 ...
- Python笔记-UiSelector坐标定位
比如点击豌豆荚我的,直接用坐标定位: 代码如下: import uiautomator2 as u2d = u2.connect_usb("8681-A01-0xc60fcc9d" ...
- ArcGIS API for JavaScript实现坐标定位
坐标定位是gis系统中常用的功能 效果图 实现代码如下: <!DOCTYPE html> <html lang="en"> <head>< ...
- appium元素坐标定位TouchAction
网上有很多人说的各种appium定位方法,但是我感觉有的不好用,有的不能用,所以整理了一个简单的定位方式,通过坐标定位 1.需要用到UIautomator(Andriod7.0版本需要UIautoma ...
- 记:解决 Weditor 页面元素坐标定位不到、不准确的问题
前言 这几天同事也在研究使用uiautomator2 ,之前安装一直都挺稳定没有啥报错,然后后面有换了一个uiautomator2版本,最后就使用Weditor 的时候就开始出现了Weditor 界 ...
最新文章
- 第10章 嵌入式linux的调试技术
- onBlur()事件连续触发问题。
- 怎样选择合适的PoE交换机?POE交换机选用小常识!
- 对数据仓库进行数据建模_确定是否可以对您的数据进行建模
- 献给汇编初学者-函数调用堆栈变化分析
- QT5开发及实例学习之十二Qt5图像坐标变换
- 【操作系统/OS笔记03】启动、中断、异常和系统调用
- Java学习(8):贪吃蛇游戏
- Oracle学习资料汇集
- QT | 聊聊QT与直播流播放——从QMediaPlayer到Qt-AV
- 《当程序员的那些狗日日子》六
- ROS launch文档解析
- 由光声前向模型求取光声信号
- 树莓派4b搭建danted socks5 代理服务器 利用闲置宽带扩展搬砖IP
- sw转urdf详细步骤
- win10 html 无图标,win7系统html文件图标变成空白的处理方法
- Android Studio项目在安卓手机上模拟
- 给自己身体充电的十招
- 4g dtu透传模块
- Unity 安装 Device Simulator