当前位置: 首页 > news >正文

Windows自动化1️⃣环境搭建WinAppDriver

对于技术选型:
我尝试了, pywinauto, WinAppDriver,CukeTest
担心CukeTest可能会收费, 尝试pywinauto,在元素点击,搜索时, 遇到不可用情况; WinAppDriver是微软家的,大厂开源, 就它了!

步骤一:安装WinAppDriver

进入WinAppDriver下载页面(https://github.com/Microsoft/WinAppDriver/releases),下载WinAppDriver安装程序。例如下载WinAppDriver v1.2.1

步骤二:开启开发人员模式

  1. WinAppDriver的运行需要开启开发人员模式,否则无法运行。依次进入计算机的设置>>更新和安全>>开发者选项,将【开发人员模式】打开

  2. 开启后,如果日志有乱码, 修改windows编码格式: 设置->区域->管理->更改系统区域设置: Beta版:使用Unicode提供全球语言支持

  3. 重启windows

**步骤三:**运行WinAppDriver.exe程序

进入WinAppDriver的安装路径,以管理身份运行WinAppDriver.exe程序。启动成功后会弹出一个命令行窗口,提示“Windows Application Driver listening for requests at: http://127.0.0.1:4723/”
WinAppDriver启动后默认会IP地址和端口号为127.0.0.1:4723上的请求,在使用时我们可以配置监听的IP地址和端口号

入WinAppDriver.exe所在路径下,执行命令WinAppDriver.exe 4727即可完成

元素识别工具
WinApp元素识别工具有很多,例如WinSpy、AccEvent、Inspect。最早的时候使用Inspect工具识别WinApp上的标题栏、菜单栏、工具栏、树视图及数据视图,但是随着技术的发展和人们的需求变化,微软推出了Accessibility Insights工具代替Inspect,在Inspect官网文档中也建议用户使用Accessibility Insights工具。

urllib3 版本出错, 安装1.26.2版本 pip install urllib3==1.26.2

软件地址:winsdksetup.exe
https://download.microsoft.com/download/2/6/f/26f7aa55-ef6f-4882-b19b-a1be0e7328fe/KIT_BUNDLE_WINDOWSSDK_MEDIACREATION/winsdksetup.exe

windows定位工具包:
https://codeload.github.com/blackrosezy/gui-inspect-tool/zip/refs/heads/master

微软定位工具包:
https://codeload.github.com/microsoft/WinAppDriver/zip/refs/heads/master

demo代码:

import time
import pyautogui
from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys  # 鼠标右键操作模拟
from selenium.webdriver import ActionChains  # 鼠标右键操作模拟# 添加启动参数
desired_caps = {}
desired_caps['app'] = r"D:\\Users\\duxiaowei\\AppData\\Local\\Programs\\Hwork\\Hwork.exe"
# 客户端连接 Server,启动 Session 会话
driver = webdriver.Remote(command_executor='http://127.0.0.1:4723', desired_capabilities=desired_caps)
time.sleep(3)# driver.find_element(by=By.NAME, value="工作台").click()
# time.sleep(2)
#driver.find_element(by=By.NAME, value="消息").click()
time.sleep(2)# driver.find_element(by=By.NAME, value="群组").click()
# time.sleep(2)
# driver.find_element(by=By.NAME, value="Hwork测试群").click()
# time.sleep(2)driver.find_element(by=By.NAME, value="搜索").click()
time.sleep(1)
http://www.lryc.cn/news/424469.html

相关文章:

  • 云服务器Docker内部署服务后,端口无法访问?
  • Unity将摄像机视角保存成Json文件方便读取使用
  • git是什么/基本指令
  • Linux 中的同步机制
  • Day17 枚举、typedef、位运算、堆空间的学习
  • Python爬虫与数据分析:中国大学排名的深度挖掘
  • 微软开源库 Detours 详细介绍与使用实例分享
  • js中的getElementById的使用方法
  • 设计模式 - 桥接模式
  • LeetCode530 二叉搜索树的最小绝对差
  • 【STM32 FreeRTOS】信号量与互斥锁
  • SP:eric 靶场复现【附代码】(权限提升)
  • SpringBoot项目启动直接结束--已解决
  • 【笔记】从零开始做一个精灵龙女-画贴图阶段(下)
  • React 学习——react项目中加入echarts图
  • 链表算法题一
  • Unity(2022.3.38LTS) - 基础概念
  • 无人机之飞手必看篇
  • 数据结构(11)——二叉搜索树
  • 如何使用和配置 AWS CLI 环境变量?
  • 七、流程控制
  • 【通过python启动指定的文件】
  • 区块链开源的项目有哪些?
  • 3152. 特殊数组 II(24.8.14)
  • Android 全系统版本文件读写最佳适配,CV 即用(适配到 Android 14)
  • 【日记】朋友和他女朋友领证了(368 字)
  • 行业大模型:信用评分大模型、生产优化大模型、库存管理大模型、物流行业大模型、零售行业大模型
  • VSCode 搭配 Windows 下各种 C/C++ 编译器使用
  • 【JavaEE】线程池和定时器
  • 《Unity3D网络游戏实战》通用服务器框架