自动化分享----pywinauto

这篇具有很好参考价值的文章主要介绍了自动化分享----pywinauto。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在遇到一些特殊的情况的时候,selenium框架已经无法满足我们的需求了,比如:网站做了自动化屏蔽的时候,会检测到selenium并对操作者进行屏蔽。
经过测试发现pywinauto属于电脑的模拟,当然还有其他的库,不过我这里使用的是pywinauto,感觉还是比较好用的

由于一些原因,我的电脑没法完整的安装一个可以检测控件的工具,名字记不清了,只要搜索一下pywinauto或者另外一个依赖控件的库,就可以找到那个工具

所以我采用了下面代码获取鼠标控件的位置

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time
import pyautogui
import win32api
import win32con
from ctypes import windll

width, height = pyautogui.size()
print("屏幕分辨率:", width, height)
# 获取鼠标实时位置
for _ in range(3):
    x, y = pyautogui.position()
    print("当前鼠标点击位置:", x, y)
    time.sleep(1)

# 鼠标移动到制定位置
windll.user32.SetCursorPos(22, 250)
# 鼠标点击
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 22, 250)
time.sleep(0.05)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 22, 250)

x, y = pyautogui.position()
print("当前鼠标点击位置:", x, y)

然后通过上面的代码可以获取光标,然后通过pywinauto进行自动化操作
补充一个示例:

import time
import pywinauto
from pywinauto.application import Application

# 打开windows上安装的谷歌浏览器,其他浏览器一样OK
app_test = Application(backend="uia").start(r"C:\Program Files\Google\Chrome\Application\chrome.exe url网址,需要更改 --ico1")
# url网址,需要更改
time.sleep(5)

i = 26
while(i>0):
    pywinauto.mouse.click(coords=(151,224)) # 域名选择
    time.sleep(3)
    pywinauto.mouse.click(coords=(167,263)) # 确定选择
    time.sleep(3)
    pywinauto.mouse.click(coords=(51,908)) # 点击设置 958
    time.sleep(3)
    pywinauto.mouse.click(coords=(1505,909)) # 点击移除
    time.sleep(3)
    pywinauto.mouse.click(coords=(1092,668)) # 确认移除
    time.sleep(3)
    i = i - 1

补充一个在光标位置录入内容的代码

pywinauto.keyboard.send_keys('内容',pause=0.0001) # pause是键盘模拟每个字符录入时间长短

说明一下这里的send_keys是模拟键盘,还有一个是send_text还是key_text的(记不清了)那个是直接录入,没有模拟操作,但是那个是另外一个库的,那个库好像有些限制,比如需要获取控件标题啦,id啦等等要比较精确,所以我这里使用了pywinauto文章来源地址https://www.toymoban.com/news/detail-848214.html

到了这里,关于自动化分享----pywinauto的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python+pywinauto—PC端自动化(一)启动程序及菜单控件操作

    目录 GUI对象检查/Spy工具 pywinauto基本操作 启动应用程序 连接应用 窗口操作 控件操作 Inspect.exe:Inspect.exx是Microsoft创建的另一个很棒的工具。它包含在windows SDK中,因此可以在x64 windows上的以下位置找到它. spy++.exe:它使用win32 API。如果spy ++能够显示程序的所有控件,那么该应用

    2024年02月05日
    浏览(23)
  • PC端windows自动化:pywinauto(三)控件定位方法和控件可用方法

    操作控件需要以下几个步骤:  第一步 实例化要操作的进程:得到的app是Application对象。 第二步 选择窗口 :app.window(\\\'一个或多个筛选条件\\\') 得到的窗口是WindowSpecification对象 第三步:基于WindowSpecification对象使用其方法再往下查找,定位到具体的控件 第四步:使用控件的方法

    2024年01月20日
    浏览(34)
  • 接口自动化测试工程实践分享

    本文作者:欧海锋,碧桂园服务高级测试工程师,致力于研究测试技术。 一、前言 接口自动化测试是一种软件测试技术,它通过模拟用户系统操作来对系统的接口进行自动化测试。接口自动化测试的目的是为了提高测试效率和准确性,同时降低测试成本和周期。以下是为什

    2024年04月17日
    浏览(33)
  • 安全自动化企业网络架构 (毕设分享)

    前段时间完成了自己的毕设项目——安全自动化企业网络架构。总的来说,该项目是一个对自己的挑战,其中涉及到Kubernetes容器云的搭建以及安全加固,DevOps CI/CD部署容器化监控平台,Django自动化运维平台开发,基于Cisco的安全企业网络架构等技术能。 完成该毕设的直接原因

    2023年04月08日
    浏览(29)
  • 分享8款开源的自动化测试框架

    在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试、Web UI 测试、API 测试、数据库测试、接口测试、单元测试等方面,为大家整理了github或码云上优秀的自动化测试开源项目,希望能给大家带来一点帮助。 1、项目名称:基于Jmeter实现的在线

    2024年02月05日
    浏览(38)
  • 分享几个 Selenium 自动化常用操作

    最近工作会用到 selenium 来自动化操作一些重复的工作,那么在用selenium写代码的过程中,又顺手整理了一些常用的操作,分享给大家。 常用元素定位方法 虽然有关selenium定位元素的方法有很多种,但是对于没有深入学习,尤其是没有前端知识的朋友来说,常用的就那几招。

    2024年04月10日
    浏览(32)
  • Android端自动化测试工具源码分享

    Hello啊各位老铁,许久不见,也忘了更新了,在上一篇的文章中,针对Android端的自动化测试框架做了一个简单的了解与使用,今天这篇文章呢,咱们就谈一谈具体的实现思路。 实话实说,针对这个1.0.0的版本,还是有着很多的瑕疵之处,奈何自己时间跟不上继续开发的步伐,

    2024年02月05日
    浏览(31)
  • 实现自动化获取1688商品详情数据接口经验分享

    获取电商平台商品详情数据,主要用过的是爬虫技术,过程比较曲折,最终结果是好的。我将代码都封装在1688.item_get接口中,直接调用此接口可以一步抓取。 1688商品详情页展示 传入商品ID调用item_get获取数据 响应示例  

    2024年02月07日
    浏览(33)
  • 干货分享:盘点8款优秀的自动化测试工具

    如今,作为一名软件测试工程师,几乎所有人都需要具备自动化测试相关的知识,并且懂得如何去利用工具,来为企业减少时间成本和错误成本。这是为什么呢? 在以前,测试人员一般都只需要扮演终端用户,会做手动测试用例并记录观察结果就足够了。但如今,一旦你进入

    2024年02月15日
    浏览(25)
  • UI 自动化稳定性用例实战经验分享!

    目录 前言: 大家常说 UI 自动化不稳定,那又如何提高稳定性呢?

    2024年02月15日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包