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

自动登录RPA的进阶:巧妙处理未知通知弹窗

在之前的两篇文章《自动登录 RPA 的进阶:滑块验证的巧妙实现》和《揭秘AI+RPA:CSDN热榜数据抓取RPA》 分享了RPA如何实现知乎或CSDN的自动登录,以及如何自动抓取热榜数据并投喂给大模型。

今天,让我们探讨一个在自动登录 RPA 中经常遇到的问题:完成登录之后,总是出现未知的通知弹窗,我们应该如何巧妙地处理它呢?

场景描述

假设存在这样一个场景:某车企在抖音投放了大量的广告,为了更好地了解广告效果,每天都需要定时从巨量引擎拉取热门车型对应的广告产生的数据,例如点击率、搜索量等。并且,你已经拥有了能够自动登录巨量引擎后台的自动登录 RPA,同时还有一个每天定时拉取数据的自动抓取热门车型的 RPA。

然而,马上就要到 1024 程序员节了,巨量引擎推出了一系列活动,这些活动以弹窗的形式出现,恰好挡住了自动抓取热门车型的 RPA。在这种情况下,我们该如何应对呢

常见的处理方式

很多人第一时间想到的处理方式就是人为地手动关闭弹窗,然后让后续的 RPA 流程自动执行。但这种方式不仅费心费力,而且效率低下。

那么,是否存在更好的处理方式呢?答案是肯定的。

巧妙处理未知通知弹窗

我们可以想象一下,当自动抓取热门车型的 RPA 模拟人的动作时,如果找不到对应的选项,它就会报错,然后流程就会中断

那么,我们可以通过捕获这个异常来进行处理。在处理完成之后,再继续寻找元素,这样就可以让 RPA 流程继续顺利进行。

以下是代码实例。

    try:# 尝试找到筛选项列表multi_ele = client.eles('@@class:search-option')# 选择我们关注的筛选项multi_ele[0].click()client.ele('@data-option-id:SelectOption01').click()time.sleep(1)except ElementNotFoundError as e:log('error', 'search option select failed')# 处理未知弹窗do(client)# 清空输入缓冲区,避免后续操作受到影响sys.stdin.flush()
    do(client):# 首先,在页面中寻找弹窗的关闭元素close_ele = client.ele('@class:popup-close-button')# 然后,点击关闭元素,关闭弹窗close_ele.click()# 最后,继续执行筛选项列表元素的操作multi_ele = client.eles('@@class:search-option')multi_ele[0].click()client.ele('@data-option-id:SelectOption01').click()time.sleep(1)

通过这样的方式,我们可以有效地处理自动登录 RPA 中出现的未知通知弹窗,让 RPA 流程更加稳定和高效。

在实际应用中,我们可能会遇到各种各样的未知弹窗情况,但只要我们掌握了这种异常捕获和处理的方法,就能够灵活应对,确保 RPA 能够顺利完成任务。


http://www.mrgr.cn/news/51577.html

相关文章:

  • Ajax(web笔记)
  • Linux调试器-gdb 与 冯诺依曼体系结构
  • 【Docker系列】docker-compose down 命令详解
  • Linux权限理解及环境基础开发工具使用
  • 库卡ForceTorqueControl(一)
  • GPT4 multi-modal input, 使用GPT处理图像
  • 迪杰斯特拉算法的理解
  • 遥感图像处理又上大分!加个多模态,一篇A会到手~
  • 用Cursor开发了一个图片分割器
  • API项目:发布下线
  • 图论day62|拓扑排序理论基础、117.软件构建(卡码网)、最短路径之dijkstra理论基、47.参加科学大会(卡码网 第六期模拟笔试)
  • 在线培训知识库管理系统:教育行业的新动力
  • Qt | CMake(Qt5 VS Qt6)
  • 【计网】从零开始理解TCP协议 --- 熟悉TCP报头结构并理解三次握手与四次挥手
  • Java爬虫之使用Selenium WebDriver 爬取数据
  • c++实现跳表
  • CSMA/CD协议 监听算法
  • 在使用linux过程中找不到占据空间的大文件的解决方法
  • BUUCTF[GKCTF 2021]你知道apng吗
  • 养宠物的空气净化器有哪几款推荐?有没有性价比高的分享?