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

Windows自动化3️⃣WindowsPC拽起时长问题解决方案

问题描述:

  1. Windows应用从点击, 到加载完成, 需要一定的时间
  2. 后台是否已经启动过当前程序?
  3. 启动后, 前后台应用关闭问题等

我的解决思路:
首先检查进程 , 当前进程是否在运行, 如果进程在运行, 需要先关闭进程
关闭进程后, 开始我们的自动化流程, 去拽起 应用
拽起应用后, 可以先前台关闭当前应用, 方便后面运行我们的自动化流程

import psutil# 获取当前windows , 所有进程信息名称, 并去重
def get_all_process():list_process = set()# 获取当前windows , 所有进程信息for proc in psutil.process_iter(['pid', 'name']):list_process.add(proc.info["name"])return list_process
# 后台是否有Hwork.exe , 如果没有就需要 启动Hwork,会比较耗时, 如果有就不需要
def hwork_start(path):all_process = get_all_process()if "Hwork.exe" in all_process:return Trueelse:try:# 需要启动Hworkfrom pywinauto.application import Application# 启动Application(backend='uia').start(path)time.sleep(15)# 发送Alt+F4快捷键, 关闭窗口,关闭前台pyautogui.hotkey('alt', 'f4')return Trueexcept :return False

不同于web自动化, PC自动化scope为方法级别

@pytest.fixture(scope="function", autouse=True)
def pc_start():# 添加启动参数desired_caps = {}desired_caps['app'] = r"D:\Users\duxiaowei\AppData\Local\Programs\Hwork\Hwork.exe"#if hwork_start(desired_caps['app']):# 客户端连接 Server,启动 Session 会话driver = webdriver.Remote(command_executor='http://127.0.0.1:4723', desired_capabilities=desired_caps)# 默认全局隐式等待设置driver.implicitly_wait(20)# 设置启动检查等待,等待搜索errors = [NoSuchElementException, ElementNotInteractableException, ElementNotVisibleException]wait = WebDriverWait(driver, timeout=100, poll_frequency=2, ignored_exceptions=errors)wait.until(EC.visibility_of(driver.find_element(by=By.NAME, value="搜索")))# 强制等待time.sleep(2)else:print("请检查-Hwork程序是否启动成功!")return driver

PC自动化解决问题思路: 不同于web自动化, PC自动化可能需要多种工具混合使用, 才能方便解决一个问题, 故而把== 解决问题, 放在首位,== 然后才是 优化框架, 技术方案选择.

相关文章:

Windows自动化3️⃣WindowsPC拽起时长问题解决方案

问题描述: Windows应用从点击, 到加载完成, 需要一定的时间后台是否已经启动过当前程序?启动后, 前后台应用关闭问题等 我的解决思路: 首先检查进程 , 当前进程是否在运行, 如果进程在运行, 需要先关闭进程 关闭进程后, 开始我们的自动化流程, 去拽起 应用 拽起应用后, 可以先…...

一篇文章入门Java虚拟机(JVM)

JVM全称是Java Virtual Machine,中文译名Java虚拟机。本质上是一个运行在计算机上的程序 一,JVM的功能 功能描述解释和运行对字节码文件中的指令,实时的解释成机器码,让计算机执行内存管理自动为对象、方法等分配内存&#xff1…...

vue3里面的组件实例类型(包括原生的html标签类型)

在 通过 ref(null)获取组件的时候,我们想要为 组件标注组件类型,可以通过 any 类型来进行标注,但是很明显,这些的代码很不优雅,所以我们可以利用 vue3 里面的 InstanceType 来进行类型标注 这是…...

谷歌正式开放Imagen 3访问权限!OpenAI的GPT-4o连续两周迎来两次更新!|AI日报

文章推荐 马斯克Grok 2打响反内容限制第一枪,盛大网络狂欢!一起来看网友花式整活! GPT-4o一天迎来2大劲敌!Grok-2发布测试版!Gemini Live即刻上线! 今日热点 OpenAI发布chatgpt-4o-latest AI模型&#…...

C语言内存操作函数

目录 一. C语言内存操作函数 1. memcpy的使用和模拟实现 2. memmove函数 3. memset函数 4. memcmp函数 一. C语言内存操作函数 随着知识的不断积累,我们所想要实现的目标程序就会更加复杂,今天我们来学习一个新的知识叫做C语言内存操作函数&#x…...

深入探索 PyTorch:torch.nn.Parameter 与 torch.Tensor 的奥秘

标题:深入探索 PyTorch:torch.nn.Parameter 与 torch.Tensor 的奥秘 在深度学习的世界里,PyTorch 以其灵活性和易用性成为了众多研究者和开发者的首选框架。然而,即使是经验丰富的 PyTorch 用户,也可能对 torch.nn.Pa…...

成为Python砖家(1): 在本地查询Python HTML文档

目的 Python3 官方文档位于 https://docs.python.org/3/ , 有时候网络无法连接,或者连接速度慢, 这对于学习 Python 时的反馈造成了负面影响。准备一份本地 Python 文档可以让反馈更加及时。 下面给出 macOS 和 Win11 下的 Python 离线文档…...

深度学习基础—RMSprop算法与Adam 优化算法

1.RMSprop算法 1.1.算法流程 除了动量梯度下降法,RMSprop算法也可以加快梯度下降,这个算法的算法流程如下:深度学习基础—动量梯度下降法http://t.csdnimg.cn/zeGRo 1.2.算法原理 和动量梯度下降不同的是,对dW和db的变成了平方项…...

单片机原理及技术(六)—— 中断系统的工作原理

目录 一、AT89S51中断技术概述 二、AT89S51中断系统结构 2.1 中断请求源 2.2 中断请求标志寄存器 2.2.1 TCON 寄存器 2.2.2 SCON 寄存器 三、中断允许与中断优先级的控制 3.1 中断允许寄存器 IE 3.2 中断优先级寄存器 IP 四、响应中断请求的条件 五、外部中断的触发…...

Angular路由使用

Angular路由是Angular框架中一个非常重要的特性,开发者可以根据URL的不同来动态地加载和显示不同的组件,从而构建出单页面应用(SPA)。 以下是Angular路由使用的基本步骤和要点: 1. 安装和配置路由模块 首先&#xf…...

【JVM】深入理解类加载机制(一)

深入理解类加载机制 Klass模型 Java的每个类,在JVM中都有一个对应的Klass类实例与之对应,存储类的元信息如:常量池、属性信息、方法信息…从继承关系上也能看出来,类的元信息是存储在元空间的。普通的Java类在JVM中对应的是InstanceKlass(C)…...

区块链浏览器需求整理

用户需求 普通用户 便捷查询交易记录:能够轻松找到自己或特定地址的交易详情,包括交易时间、金额、状态等。查看账户余额:实时了解地址的余额情况。追踪资产流向:了解自己的资产在区块链上的转移路径。 开发者 智能合约调试&a…...

Laravel 表单验证功能重定向判断

判断主要针对 API 请求和普通页面请求,即 API 的表单验证失败直接响应 JSON,而页面的表单验证失败正常重定向。 看网上基本上是继承 FormRequest 类来实现,其实直接修改异常处理的 Handler 类即可,非常简单。 打开 app/Exception…...

MATLAB口罩检测系统

一、应用背景 作为数字图像处理和计算机视觉领域的一个重要组成部分,利用摄像机对图像进行采集,从图像中检测人脸并进行口罩穿戴的识别的有着非常重要的研究意义和应用价值。面对突如其来的新型肺炎疫情,人们生活秩序被严重打乱。跟普通流感…...

LeetCode 第三十一天 2024.8.18

1. :买卖股票的最佳时机 题目链接: 121. 买卖股票的最佳时机 - 力扣(LeetCode) 应用条件: 难点: # 确定dp数组(dp table)以及下标的含义:dp数组由len(prices)个[][]组成&#xff…...

Linux驱动学习之点灯(一)

学习不同的板子我们都是从点灯开始,linux驱动也不例外 驱动开发基础知识 何为驱动? 驱使硬件正常工作的代码就叫做驱动。 在一些mcu里: 无非就是直接操作寄存器,或者用库函数初始化外设,使外设正常工作如初始化iic&…...

从HTTP到HTTPS:SSL加密如何重塑互联网安全格局

从HTTP到HTTPS:SSL加密如何重塑互联网安全格局 随着互联网技术的飞速发展,网络安全问题日益凸显,保护用户数据的安全性和隐私性成为了不可忽视的重要议题。从HTTP(超文本传输协议)到HTTPS(超文本传输安全协…...

QT网络编程: 实现UDP通讯设置

目录 一.widget.ui界面设计 二.创建UDP通信 1.pro文件添加network模块。 2.添加对应头文件 3.定义槽函数,即与 UI 中的按钮点击事件相关联的函数 4.定义类的私有成员 5.关闭按钮 6.信息处理 7.绑定端口 8.发送信息 9.效果图 三.代码演示 1.widget.h 2.…...

机器学习第十一章--特征选择与稀疏学习

一、子集搜索与评价 我们将属性称为 “特征”(feature),对当前学习任务有用的属性称为 “相关特征”(relevant feature)、没什么用的属性称为 “无关特征”(irrelevant feature).从给定的特征集合中选择出相关特征子集的过程&…...

dm 到 dm 的 HS 同步部署

一、数据库部署 完成两节点数据库部署并初始化,配置参数如下: 节点 192.168.2.132 192.168.2.133 数据库版本 DM8 DM8 实例名 DM1 DM2 端口号 5236 5236 数据文件路径 /home/dmdba/dmdata /home/dmdba/dmdata 二、 dmhs 部署 1. 部署…...

QT 5.14.0实战:手把手教你用QLineEdit打造一个带验证码的登录框(附完整样式代码)

QT 5.14.0实战:手把手教你用QLineEdit打造一个带验证码的登录框(附完整样式代码) 在GUI开发中,登录界面是最基础也最考验细节的组件之一。一个优秀的登录框不仅需要功能完整,还要在用户体验上下足功夫——比如实时输入…...

Peroxidase-conjugated AffiniPure Goat Anti-Human IgG:高酶活,低背景,精准定量人源抗体

在现代生命科学研究中,抗体是实现特定分子识别和信号检测的核心工具。其中,二抗作为连接一抗与检测系统的重要桥梁,其特异性和灵敏度直接影响实验结果的准确性与可靠性。Peroxidase-conjugated AffiniPure Goat Anti-Human IgG, Fcγ Fragmen…...

从LIF神经元到STDP学习:一个SNN识别MNIST的完整故事线(不只是代码)

从LIF神经元到STDP学习:揭秘脉冲神经网络如何"看见"数字 想象一下,当你看到数字"7"时,大脑中的神经元是如何协同工作,让你瞬间识别出这个符号的?这正是脉冲神经网络(SNN)试图模拟的生物智能过程。…...

Phi-3-mini-4k-instruct-gguf代码实例:Python requests调用Web API完整示例

Phi-3-mini-4k-instruct-gguf代码实例:Python requests调用Web API完整示例 1. 模型简介 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本,特别适合问答、文本改写、摘要整理和简短创作等场景。这个经过优化的版本可以直接…...

单机变联机:Nucleus Co-Op如何让你的电脑实现4人同屏游戏

单机变联机:Nucleus Co-Op如何让你的电脑实现4人同屏游戏 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 你是否曾想过,用一…...

用ZYNQ PS-SPI给Flash测个速:华邦W25Q80在25MHz时钟下的真实读写性能报告

ZYNQ PS-SPI Flash性能深度评测:华邦W25Q80在25MHz时钟下的极限挖掘 当我们需要在嵌入式系统中选择一款Flash存储器时,数据手册上的理论参数往往无法反映真实应用场景下的性能表现。本文将基于Xilinx ZYNQ平台的PS-SPI接口,对华邦W25Q80 Flas…...

告别环境配置烦恼:在Windows上通过VSCode与ESP-IDF快速搭建ESP32开发环境

1. 为什么选择VSCodeESP-IDF开发ESP32? 作为一个从Arduino转向ESP32开发的过来人,我深刻理解新手在环境配置上的痛苦。传统方法需要手动安装Python、Git、交叉编译工具链等十多个组件,光是处理环境变量冲突就能让人崩溃一整天。直到发现VSCod…...

langchain4j 学习系列(9)-AIService与可观测性

一、基本用法1.1 定义业务接口View Code注:{{it}}是langchain4j内部约定的默认占位符名。当只有1个参数时,{{it}}在运行时,会自动替换成用户的prompt. 当然也可以强制指定参数名,就本示例而言,注释的二种写法&#xff…...

Fiji在macOS系统的兼容性解决方案:从启动故障到配置优化的完整指南

Fiji在macOS系统的兼容性解决方案:从启动故障到配置优化的完整指南 【免费下载链接】fiji A "batteries-included" distribution of ImageJ :battery: 项目地址: https://gitcode.com/gh_mirrors/fi/fiji Fiji作为科学图像处理领域广泛使用的"…...

Pixel Aurora Engine效果展示:像素极光系统生成的赛博忍者角色系列

Pixel Aurora Engine效果展示:像素极光系统生成的赛博忍者角色系列 1. 像素极光引擎简介 Pixel Aurora(像素极光)是一款基于AI扩散模型的高端绘图工作站,采用独特的复古像素游戏风格界面设计。这款工具将现代AI技术与经典8-bit美…...