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

影刀---如何进行自动化操作

在这里插入图片描述
本文不是广告,没有人给我宣传费,只是单纯的觉得这个软件很好用

感谢大家的多多支持哦

本文

    • 1.基本概念与操作(非标准下拉框和上传下载)
      • 非标准对话框的操作
      • 上传对话框、下载的对话框、提示的对话框
    • 2.综合案例
    • 3.找不到元素怎么办?
    • 4.对于处理多个页面的商品的操作

1.基本概念与操作(非标准下拉框和上传下载)

相关操作:

1.网页操作的基本概念
2.正确处理下拉框元素
3.自定义对话框的妙用
4.对话框元素的操作方式

非标准对话框的操作

在这里插入图片描述
通过这两种方法我们可以进行网页对象的一个获取操作

下拉框

在这里插入图片描述
我们输入我们想选择的元素,就可以在这个下拉框中进行一系列的操作

如果我们遇到的是非标准的下拉框的话如果还是用这个方法的话那么就会报错的

在这里插入图片描述
那么如果我们遇到的是非标准下拉框呢,我们又该怎么进行操作呢?

那么我们怎么对这个下拉框和非标准的下拉框呢

我们在网页点击F12,然后将箭头放到这个下拉框的位置,进行一个点击的操作,然后会出来这么一串的代码
在这里插入图片描述
这个就是标准的下拉框

下面都是option

这个就是非标准的下拉框,这个就是div的模式

在这里插入图片描述

我们先将这个非标准的下拉框进行一个点击的操作,然后将所有的选项弹出来,然后进行判断,看看有没有和我们输入的选项符合的,如果有的话就进行一个点击的操作的
在这里插入图片描述
在这里插入图片描述
那么将这些选项元素一个个拿出来处理的话,这个时候就会用到循环里面的循环相似元素的操作

利用循环相似元素,将每次循环的内容拿出来,然后进行判断操作

在这里插入图片描述
那么我们获取元素内的内容的话我们就需要用到网页自动化的数据提取里面的获取元素信息在这里插入图片描述
那么我们将内容拿出来了我们就需要进行内容的判断操作了在这里插入图片描述
如果这个选项和我们所需要的选项的文本内容是一样的话,那么我们就进行一个点击操作在这里插入图片描述
然后我们就可以对这个非标准的下拉框进行一个点击的操作

整个流程的回忆:我们先对这个非标准下拉框进行一个点击的操作,然后我们利用循环相似元素循环出每次进行循环的元素,在之前我们需要将这个所有的选项作为这个相似元素捕获出来,然后我们对每次循环出的选项元素进行判断操作。如果是我们要的那个选项的话,我们就进行一个点击操作就好了

我们还可以对这个循环进行一个操作的,如果我们在前面找到了我们需要的选项的话,我们就直接点击,然后退出就行了,后面的选项我们没必要进行判断操作了

在这里插入图片描述
找到元素之后我们就退出循环了

我们还可以对这些命令进行一个修改的操作,我们可以在一开始就可以进行我们需要选择的选项的一个输入的操作,然后通过变量进行一个搜索的操作

那么我们就在对话框那里打开自定义对话框,我们放在最前面

我们在这个自定义对话框选择这个下拉框的操作,然后我们点击进行选项的输入然后我们点击云心的
在这里插入图片描述
在这里插入图片描述
然后我们点击运行的时候点击下拉框我们就能对这个选项进行一个选择的操作了
在这里插入图片描述
那么我们这个时候就需要设置一个变量,让后面知道我们选择了这个选项,然后根据这个选项进行操作在这里插入图片描述
在这里插入图片描述
那么这个变量就是我们选择的选项了

那么我们在这个if判断语句中我们就可以直接将我们设置的这个变量作为一个判断元素就行了
在这里插入图片描述
逻辑说明:我们通过自定义对话框,通过自定义对话框里面的下拉框元素,我们设置好所有的选项,然后用变量将我们选择的元素存储起来,然后我们在判断的时候我们就能直接通过这个变量进行一个判断,看看是否循环到了我们选择的元素了在这里插入图片描述

上传对话框、下载的对话框、提示的对话框

跟对话框相关的一些处理操作都放在一起的在这里插入图片描述
在这里插入图片描述
对于下载对话框的话,我们可以先进行点击操作,然后使用左侧栏中的处理下载对话框,我们可以进行文件位置的选择以及文件保存的时候的名字的命名操作

我们还可以设置这个等待的时间

我们还能通过日志的打印将这个文件存放的地址进行一个打印的操作

2.综合案例

具体内容

  • 综合案例:多页订单的处理

  • 关联父元素的用法

  • 流程图的作用

  • 两个小技巧

问题描述

今天我们的内容是做出这个商品处理的机器人,

条件:状态为完成

商品名称不能为篮球鞋,因为缺货

每一个订单我们都要拿出来进行一个判断的操作

判断状态和商品名称

如果都满足的话我们就点击发货操作

处理完一页的订单后我们还要进行翻页的操作

获取到整个页面的元素,然后利用IF条件判断每次循环出的元素中是否存在我们安排好的条件以及不存的的元素

我们先进行一页订单的处理操作

我们需要将每一个元素拿出来进行处理,我们可以通过循环相似元素将相似元素拿出来

我们通过元素的获取以及相似元素的捕获操作,我们获得了左边的订单号,那么我们如果获得这个全部的订单呢?

在这里插入图片描述
我们点击编辑,我们翻到最后一行,然后把勾勾去掉就行了,然后再点击这个校验元素就行了在这里插入图片描述
在这里插入图片描述
然后我们就获取到了这个所有的元素了在这里插入图片描述
我们可以发现从某一个单位格的相似元素组变成了整行的相似元素组

td是单元格的意思,现在我们将这个勾选划掉了,我们不用单元格了

我们通过这个tr去找相似元素,tr就是行

我们就获取到了整行元素的相似组

那么现在我们就将这个订单拿出来了,后面我们就需要判断下这个订单的状态以及商品名称

我们将订单的内容拿出来

在这里插入图片描述
我们可以进行一个打印操作在这里插入图片描述
那么这个信息就是订单的信息

我们添加一个IF多条件的判断操作,进行一个所条件判断的操作,如果都满足的话我们就进行发货操作的点击

在这里插入图片描述
那么现在我们怎么进行这个发货按钮的点击呢

那么就涉及到了从大元素中获取小元素了

在网页自动化的元素操作里面有获取元素对象的操作

在这里插入图片描述
我们将获取元素对象这个指令拖出来,点击这个关联父元素在这里插入图片描述
我们可以从父元素中进行子元素的选择操作的在这里插入图片描述
我们从这一行的元素获取到这个确认发货的元素在这里插入图片描述
找到了这个元素的话我们就进行一个点击的操作

点击我那确认发货后我们还要点击确认的按钮

那么现在我们就可以进行单页订单的处理操作了
在这里插入图片描述
涉及到翻页的操作我们就需要用到for次数循环的操作了

利用for次数循环进行一个翻页的操作,我们将这个for次数循环放在外循环

我们将处理单页的操作放到这个for次数循环里面
在这里插入图片描述
搞定之后我们需要获取这个最大的页数
在这里插入图片描述
我们将这7个元素作为相似元素进行获取的操作,这个最大的页数往往在这个列表的倒数第二个位置

并且获取这个相似元素组的文本内容

在这里插入图片描述
然后通过设置变量获取我们这个列表中的倒数第二个元素

在这里插入图片描述
然后我们再利用这个变量进行for循环的次数的设置操作,终止数设置为最大页码数
在这里插入图片描述
在这里插入图片描述
做好这些,我们还要进行翻页的操作,这个操作放在内循环结束的时候,因为刚好一页的商品数据已经搞定了。处理完当前页面的订单我们还要进行这个点击下一页的按钮操作在这里插入图片描述
在这里插入图片描述
我们最后还要进行一个操作进行一个判断的操作,当我们到了最大页码数的那一页我们就不需要进行点击翻页的操作了,如果for次数循环不等于这个最大的页码数的话我们就进行点击的操作在这里插入图片描述
在这里插入图片描述
我们一定要在获取页码的时候点击这个获取元素文本内容,不然后面是会报错的在这里插入图片描述
如果觉得我们点击的速率慢的话我们可以进行设置,在高级设置中我们将这个延迟设置为0,这样就会很快了在这里插入图片描述
那么我们就能快速的进行点击操作

3.找不到元素怎么办?

在这里插入图片描述

4.对于处理多个页面的商品的操作

在这里插入图片描述
我们在这里进行一个完美的解释:

我们先进行单个页面的订单处理,这里我们是要将完成的和短袖T恤进行点击确认发货的操作

我们先将这个页面所有的相似元素进行一个获取的操作,我们通过循环相似元素获取到所有的元素

但是我们只获取到了订单号,所以为了获取每一行的其他元素,我们需要在设置中进行一个设置操作

我们在这个循环相似元素中设置将最后一行的勾子去掉,然后点击确认,我们点击重新校验的操作,然后我们就获取了每一行的元素了

就是通过这个循环相似元素,每次我们通过这个循环相似元素将每一行的数据拿出来,存放在这个每次循环出的订单这个变量中

然后我们通过获取元素信息这个命令获取每一行的内容,将这个内容保存在这个订单内容中

然后我们会对这个订单内容进行判断的操作,我们使用IF多分支命令,判断每次循环的订单的内容中是否满足我们设置的两个条件,如果满足条件的话我们就进行元素的点击操作,先点击发货,然后点击确定,然后这一行满足条件的商品就进行了发货操作了,然后依次进行循环的操作,直到这个页面的商品都进行发货完成了 ,那么这一面的商品我们就搞定了

然后我们就要进行多个页面的操作了

我们需要先获取到这个最大的页码数

我们通过获取这个相似元素列表,然后这个最大的页码数通常是会在这个列表倒数第二个位置

然后我们设置变量进行我们获取到的最大页码元素的接受操作

设置好了之后,我们利用一个for循环,我们从第1面开始进行这个页码的转换,然后结束值就是在这个最大页码元素,但是我们还需要设置一下,如果我们当前的这个页码数不等于这个最大页码数我们就进行点击的操作,然后等于这个最大页码数的话我们就不需要进行点击了,因为后面已经没有页码了

那么我们将这个条件语句放在for循环中,然后将我们之前写的对于单页订单的发货操作放在这个条件语句前面,也在for循环的内部

我们通过for循环实现了页码的转换操作,然后通过这个内循环实现了当前页码匹配数据的确认发货操作

到这里我们的实现多页订单的发货操作我们就成功实现了

相关文章:

影刀---如何进行自动化操作

本文不是广告,没有人给我宣传费,只是单纯的觉得这个软件很好用 感谢大家的多多支持哦 本文 1.基本概念与操作(非标准下拉框和上传下载)非标准对话框的操作上传对话框、下载的对话框、提示的对话框 2.综合案例3.找不到元素怎么办&a…...

146. LRU 缓存【 力扣(LeetCode) 】

零、原题链接 146. LRU 缓存 一、题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中&#xff…...

【算法】链表:92.反转链表(medium)+双指针

系列专栏 《分治》 《模拟》 《Linux》 目录 1、题目链接 2、题目介绍 3、解法 (双指针) 4、代码 是 206. 反转链表 - 力扣(LeetCode)的类型题,且难度提升,可以先完成206,然后参照206的…...

Command | Ubuntu 个别实用命令记录(新建用户、查看网速等)

1. 实用命令 1.1 系统相关 1.1.1 查看系统、用户信息等 查看当前系统硬件架构 uname -m注:mac 上也能用 查看当前系统的操作系统及版本 cat /etc/os-release | grep "PRETTY_NAME"查看当前系统单个cpu的可用核心数 cat /proc/cpuinfo | grep "…...

云服务器部署k8s需要什么配置?

云服务器部署k8s需要什么配置?云服务器部署K8s需要至少2核CPU、4GB内存、50GBSSD存储的主节点用于管理集群,工作节点建议至少2核CPU、2GB内存、20GBSSD。还需安装Docker,选择兼容的Kubernetes版本,配置网络插件,以及确…...

Linux --入门学习笔记

文章目录 Linux概述基础篇Linux 的安装教程 ⇒ 太简单了,百度一搜一大堆。此处略……Linux 的目录结构常用的连接 linux 的开源软件vi 和 vim 编辑器Linux 的关机、开机、重启用户登录和注销用户管理添加用户 ⇒ ( useradd 用户名 ) ( useradd -d 制定目…...

并发编程三大特性(原子性、可见性、有序性)

并发编程的三大特性实际是JVM规范要求的JVM实现必须保证的三大特性 不同的硬件和不同的操作系统在内存管理上有一定的差异,JAVA为了解决这种差异,使用JMM(Java Memry Model)来屏蔽各个操作系统之间的差异,使得java可以…...

物理学基础精解【41】

文章目录 核物理基础 Υ \varUpsilon Υ衰变1. Υ \varUpsilon Υ衰变的一般性质2. 具体的衰变模式3. 衰变公式和机制4. 实验观测和理论研究 Υ \varUpsilon Υ衰变概述一、定义二、公式三、定理一、定义二、公式三、定理 重带电粒子概述重带电粒子的性质重带电粒子的公式 重带…...

深入理解Linux内核网络(一):内核接收数据包的过程

在应用层执行read调用后就能很方便地接收到来自网络的另一端发送过来的数据,其实在这一行代码下隐藏着非常多的内核组件细节工作。在本节中,将详细讲解数据包如何从内核到应用层,以intel igb网卡为例。 部分内容来源于 《深入理解Linux网络》…...

mysql学习教程,从入门到精通,SQL LIKE 运算符(28)

1、SQL LIKE 运算符 在SQL中,LIKE运算符主要用于在WHERE子句中搜索列中的指定模式。它通常与通配符一起使用,如%(代表零个、一个或多个字符)和_(代表单个字符),以执行模糊匹配。下面是一个使用…...

uniapp微信小程序使用ucharts遮挡自定义tabbar的最佳解决方案

如图所示: 使用的ucharts遮挡住了我自定义的tabbar(如果不是提需求的有病,我才不会去自定义tabbar) 查阅了不少文档,说是开启 ucharts 的 canvas2d 即可: 官网文档地址: uCharts官网 - 秋云…...

C初阶(八)选择结构(分支结构)--if、else、switch

前言: C语言是用来解决问题的,除了必要的数据输入与输出(见前文),还要有逻辑结构。其中基本可以归为三类:顺序结构、选择结构、循环结构。今天,杰哥提笔写的是关于选择结构(又叫“分…...

基于Springboot vue应急物资供应管理系统设计与实现

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php python(flask Django) 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找…...

区块链+Web3学习笔记

学习资料来源于B站: 17小时最全Web3教程:ERC20,NFT,Hardhat,CCIP跨链_哔哩哔哩_bilibili 该课程提供的Github代码地址,相关资料详见README.md: Web3_tutorial_Chinese/README.md at main sm…...

Redis: 集群高可用之节点与插槽管理

概述 Redis Cluster 集群模式,它使用的是分片来存储数据的,数据都存在多个节点上。而且使用了哈希槽这样的机制,它内部维护了 16384 个插槽那就是说每一个节点其实都具体的分布了一些槽,如果我们添加一个节点的话,槽总…...

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例 在某地市的 XX 音乐节保障准备期间,为确保活动期间的网络质量,现场新开了 4.9G HUAWEI 室外基站。在网络优化和测试中,发现UE无法实现从 2.6G 到 4.9G 的正常切换。虽然现场具备 4.9G信号覆…...

Qt C++设计模式->责任链模式

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许多个对象有机会处理请求,而不需要明确指定哪个对象处理。通过将这些对象连成一条链,请求沿着链传递,直到有对象处理它为止。该模式…...

paypal支付v2.0(php)支付代码

第一步&#xff1a;获取access_token: <?php$clientId ; // 替换为你的 PayPal Client ID $clientSecret ; // 替换为你的 PayPal Client Secret// PayPal API 请求的 URL $url "https://api-m.sandbox.paypal.com/v1/oauth2/token";// 初始化 cURL $ch …...

基于Python的自然语言处理系列(23):DrQA

在本篇文章中,我们将实现 DrQA 模型,该模型最初由论文 Reading Wikipedia to Answer Open-Domain Questions 提出。DrQA 是一种用于开放域问答系统的端到端解决方案,最初包括信息检索模块和深度学习模型。本次实现中,我们主要探讨 DrQA 的深度学习模型部分。 1. 数据加载 …...

誉天Linux云计算课程学什么?为什么保障就业?

一个IT工程师相当于干了哪些职业? 其中置顶回答生动而形象地描绘道&#xff1a; 一个IT工程师宛如一个超级多面手&#xff0c;相当于——加班狂程序员测试工程师实施工程师网络工程师电工装卸工搬运工超人。 此中酸甜苦辣咸&#xff0c;相信很多小伙伴们都深有体会。除了典…...

无人机控制和飞行、路径规划技术分析

无人机控制和飞行、路径规划技术是现代无人机技术的核心组成部分&#xff0c;它们共同决定了无人机的性能和应用范围。以下是对这些技术的详细分析&#xff1a; 一、无人机控制技术 无人机控制技术主要涉及飞行控制系统的设计、传感器数据的处理以及指令的发送与执行。飞行控…...

【C++】模拟实现红黑树

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:实战项目集 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目功能 二.逐步实现项目功能模块及其逻辑详解 &#x1f4cc;实现RBTreeNode类模板 &#x1f38f;构造RBTreeNode类成员变量 &#x1f38f;实现RBTreeNode类构…...

离线安装docker

背景描述 项目需要在研发环境虚拟机上安装docker部署应用。 所在的服务器是一个内网&#xff0c;无法访问到外网环境。 服务器OS版本是 麒麟V10 linux 安装docker 安装包下载 获取所需版本的docker binary包&#xff0c;官方链接https://download.docker.com/linux/stati…...

MySQL高阶2066-账户余额

目录 题目 准备数据 分析数据 总结 题目 请写出能够返回用户每次交易完成后的账户余额. 我们约定所有用户在进行交易前的账户余额都为0&#xff0c; 并且保证所有交易行为后的余额不为负数。 返回的结果请依次按照 账户&#xff08;account_id), 日期( day ) 进行升序排序…...

《RabbitMQ篇》Centos7安装RabbitMQ

安装RabbitMQ 安装包网盘下载地址 链接&#xff1a;https://pan.baidu.com/s/1bG_nP0iCdAejkctFp1QztQ?pwd4mlw 先上传安装包到服务器&#xff08;erlang-23.3.4.11-1.el7.x86_64.rpm和rabbitmq-server-3.9.16-1.el7.noarch.rpm&#xff09;然后使用指令安装 # 安装 erlang r…...

昇思学习打卡营第31天|深度解密 CycleGAN 图像风格迁移:从草图到线稿的无缝转化

1. 简介 图像风格迁移是计算机视觉领域中的一个热门研究方向&#xff0c;其中 CycleGAN (循环对抗生成网络) 在无监督领域取得了显著的突破。与传统需要成对训练数据的模型如 Pix2Pix 不同&#xff0c;CycleGAN 不需要严格的成对数据&#xff0c;只需两类图片域数据&#xff0c…...

跟我学C++中级篇——空值的定义

一、空值 在提到c/c的空值时&#xff0c;先扯远一些。谈一谈数学中的0&#xff0c;0的出现要晚于其它的数&#xff0c;而0的出现却引发了数学的极大的发展和进步。而在计算机科学中&#xff0c;在使用一个变量时&#xff0c;它的值的可能性有很多&#xff0c;其中&#xff0c;…...

(三)Mysql 数据库系统全解析

一、Mysql 数据库 数据库的作用和优势 作用&#xff1a;集中化存储结构性的数据。优势&#xff1a; 减小数据冗余&#xff0c;避免数据的重复存储。保证数据的真实有效和唯一性&#xff0c;提高数据的质量。方便数据共享访问&#xff0c;使得不同的用户和应用可以方便地获取所需…...

SAP HCM 0001信息类型一个月内有多个成本中心

一般跨部门调动时候&#xff0c;成本中心都会变化&#xff0c;SAP默认都是读取wpbp的最后一一条数据&#xff0c;但是今天过账会读取两个单位的成本中心&#xff0c;一直都觉得很奇怪&#xff0c;SAP如何都拆分出这样的情况&#xff0c; 没办法只有debug&#xff0c;初始化系统…...

字节输入流

1.是什么 字节输入流&#xff08;Byte Input Stream&#xff09;在Java中是用来读取原始字节流的数据。Java的java.io包提供了多种字节输入流类&#xff0c;其中InputStream是所有字节输入流类的超类。以下是关于字节输入流的详细解释和举例&#xff1a; 字节输入流的概念&…...