python clicknium 库自动化千牛桌面端

本文介绍如何利用python的clicknium库自动化阿里巴巴的千牛桌面客户端。clicknium是一款强大的免费UI自动化工具,支持桌面、Web、Java等应用。文章详细阐述了从安装clicknium扩展到实现千牛自动化操作的步骤,包括环境配置、选择器的录制与使用,以及自动化流程的编写。最后,强调了clicknium在自动化过程中的优势和应对不稳定元素的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python clicknium 库自动化千牛桌面端

千牛是阿里巴巴集团卖家工作台,商家经营的必备工具,今天我们使用python来自动化千牛桌面端。
clicknium 是基于 python 实现的一套 免费的UI 自动化的库,功能强大、简单易用,可以用来操作桌面、 web 、 java 、 sap 等应用。clicknium 相比于其他的自动化库,使用更简单,相比于大家熟知的 selenium,clicknium 上手更简单,页面元素的定位不需要人工再去写 xpath ,内置的录制器录制一下页面元素控件就会自动生成选择器,同时 clicknium 还支持桌面应用,在实现复杂混合web和桌面应用自动化场景中,可以无缝衔接;相比于 pywinauto ,clicknium 内置的元素定位录制器,非常方便定位抓取控件元素,不需要像 pywinauto 还需要借助其他工具手动去筛选定位控件,使用 clicknium 录制器定位元素,效率将大大提升;此外 clicknium 还支持图像识别来定位控件,该功能有效的补充了基于元素控件特征定位的缺陷,在某些特殊的桌面软件中某些控件是没有控件树结构的,此时使用图像识别将发挥重要作用,官网也提供了详细的 文档,可以随时查阅。

下面我们使用 clicknium 来操作千牛桌面客户端。

第一步:安装 clicknium vscode 扩展
vscode 扩展页面搜索 **clicknium** , 安装即可(需要先安装vscode)

在这里插入图片描述

第二步:安装 clicknium sdk(需要先安装python)
如果python版本<=3.8
pip install clicknium

python版本>=3.9
pip install --pre pythonnet
pip install clicknium

这里需要注意的是如果安装了多个版本的python,先选择vscode当前项目使用的python环境(ctrl+shift+p,然后输入 python:select interpreter,选择项目使用的python版本),然后在该python环境中安装clicknium package,这里可以先忽略,后面如果sample.py文件中无法识别clicknium,再来处理

第三步:安装好后vscode左侧会多一个扩展(小犀牛头像)

点击小犀牛,然后点击sign in,会跳转官网需要注册登录下即可(支持github和google账号一键注册登录)
登录完成后跳转web页面点击Launch vscode,跳转回vscode,点击打开按钮

第四步:创建Sample Project
  • 在 vscode 中 Ctrl+shift+p,
  • 输入 clicknium 下拉列表中选择 Clicknium: Sample
  • 然后选择一个文件夹用来存放 sample 项目,等待创建示例完成

此时会看到文件夹中有一个sample.py文件和一个 .locator 文件夹;其中 sample.py 就是自动化的python业务代码,.locator 文件夹存放元素定位相关信息,它是自动管理的,可以不用管它

第五步:先让生成的sample能够运行起来

生成的 sample 是对 web 页面的自动化操作,需要安装浏览器扩展,sample中使用的是edge浏览器,选择对应扩展安装即可(扩展安装在小犀牛页面)。然后直接就能运行 sample.py 文件了(按F5运行),流程会打开浏览器并且做一些自动化操作。

按照以上步骤环境就搭建完成,并且一个简单的web页面自动化就完成了。

接下来我们使用clicknium来自动化千牛桌面客户端。首先我们删除掉生成的main里面代码。

对千牛操作流程如下:(这里只是展示出clicknium的强大功能,流程本生的场景大家可以按照自己的需求具体来设计实现)
注意:这里千牛第一次登录会有一个向导提示,需要用户登录过一次,并且将这些向导给点击过,在 接待中心 IM即时通讯页面也会有向导需要用户第一次登录后处理。

下载安装千牛windows客户端, 具体步骤如下:
千牛版本【9.07.03N(02985)】

  1. 启动千牛软件
  2. 用户名、密码登录千牛
  3. 打开"接待中心"
  4. “我的好友"中添加一个新的组"测试分组”
  5. 添加几个测试的好友,并且加入"测试分组"(好友需要验证的则跳过)
  6. 向"测试分组"组员发送消息

在这里插入图片描述

以上功能基本能展现出clicknium的自动化能力,其中千牛客户端页面中还是有很多部分的控件是没有控件树结构的,所以需要借助图像识别来实现。

这里讲解下clicknium最核心结构,比如

ui(locator.aliworkbench.login.btnLogin).click()

ui 函数中传递的参数即为选择器,该选择器是通过录制器录制生成的,用来定位软件的控件位置,用户可以手动修改生成的选择器名称为更有意义的名字,该函数通过传入的选择器搜索定位到页面控件,然后返回 UiElement 对象,然后调用该对象的 click 方法,它就会点击该控件。

下面为实现的python代码。

import subprocess
from time import sleep
from clicknium import clicknium as cc, locator, ui
from clicknium.common.enums import ClearHotKey,PreAction,InputTextBy,MouseButton,MouseActionBy,Location
from clicknium.common.models.mouselocation import MouseLocation

configPath = r'C:\test\config.txt'  # 这里是txt文本配置文件的路径,修改为你自己的
f = open(configPath, "r")
username= f.readline().strip()  # txt文本第一行为用户名
password = f.readline().strip() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值