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实现坐标定位,自动化相关推荐

  1. UI自动化之driver.Tap坐标定位

    相信做UI自动化的小伙伴都知道,appium不是左右页面的元素都能定位的到的,尤其是原生中嵌套了H5页面,所有这个时候我们可以通过坐标定位的方式去解决,理论上坐标定位可以解决所有的元素识别问题,但有一 ...

  2. Python+Appium自动化测试-通过坐标定位元素

    在使用appium做app自动化测试的过程中,可能会遇到元素的属性值不是唯一的情况,导致不能通过find_element_bi_xx()方法定位元素,这个时候我们就可以通过坐标来定位元素. 1,通过绝 ...

  3. [607]appium根据屏幕大小滑动界面|通过坐标定位元素

    文章目录 appium根据屏幕大小滑动界面 通过坐标定位元素 appium根据屏幕大小滑动界面 driver.get_window_size() 获取屏幕的宽.高: driver.swipe() 从坐 ...

  4. Appium相对坐标定位元素

    Appium当前页面为h5页面,UIAutomatorviewer无法获取页面来定位元素,通过坐标模拟点击手机屏幕定位 自动化环境 设备:Android 脚本语言:Python 元素定位 手机坐标定位 ...

  5. LabVIEW实现PCB电路板坐标定位(实战篇—2)

    目录 1.项目背景 2.坐标校准原理 3.坐标校准方法 4.环境搭建 5.项目实践 1.项目背景 在机器视觉实际工程实践中,有时使用NI Vision定义的默认坐标系进行测量控制并不是很直接.例如,检 ...

  6. Python笔记-UiSelector坐标定位

    比如点击豌豆荚我的,直接用坐标定位: 代码如下: import uiautomator2 as u2d = u2.connect_usb("8681-A01-0xc60fcc9d" ...

  7. ArcGIS API for JavaScript实现坐标定位

    坐标定位是gis系统中常用的功能 效果图 实现代码如下: <!DOCTYPE html> <html lang="en"> <head>< ...

  8. appium元素坐标定位TouchAction

    网上有很多人说的各种appium定位方法,但是我感觉有的不好用,有的不能用,所以整理了一个简单的定位方式,通过坐标定位 1.需要用到UIautomator(Andriod7.0版本需要UIautoma ...

  9. 记:解决 Weditor 页面元素坐标定位不到、不准确的问题

    前言 这几天同事也在研究使用uiautomator2 ,之前安装一直都挺稳定没有啥报错,然后后面有换了一个uiautomator2版本,最后就使用Weditor 的时候就开始出现了Weditor  界 ...

最新文章

  1. 第10章 嵌入式linux的调试技术
  2. onBlur()事件连续触发问题。
  3. 怎样选择合适的PoE交换机?POE交换机选用小常识!
  4. 对数据仓库进行数据建模_确定是否可以对您的数据进行建模
  5. 献给汇编初学者-函数调用堆栈变化分析
  6. QT5开发及实例学习之十二Qt5图像坐标变换
  7. 【操作系统/OS笔记03】启动、中断、异常和系统调用
  8. Java学习(8):贪吃蛇游戏
  9. Oracle学习资料汇集
  10. QT | 聊聊QT与直播流播放——从QMediaPlayer到Qt-AV
  11. 《当程序员的那些狗日日子》六
  12. ROS launch文档解析
  13. 由光声前向模型求取光声信号
  14. 树莓派4b搭建danted socks5 代理服务器 利用闲置宽带扩展搬砖IP
  15. sw转urdf详细步骤
  16. win10 html 无图标,win7系统html文件图标变成空白的处理方法
  17. Android Studio项目在安卓手机上模拟
  18. 给自己身体充电的十招
  19. 4g dtu透传模块
  20. Unity 安装 Device Simulator

热门文章

  1. 德莱联盟(判断两个线段是否相交)
  2. 论文笔记:3D-CVF(ECCV 2020)
  3. 每日阅读:你如何过一天,你就如何过一生
  4. AD18设计PCB时常见问题及操作
  5. Java中的字节是什么意思?
  6. 读《魔鬼搭讪学》有感
  7. outlook邮件撤回失败
  8. 二次函数顶点式计算机,二次函数公式:顶点式、交点式、两根式
  9. arduino读取RS485温湿度传感器实战总结
  10. 因果森林总结:基于树模型的异质因果效应估计