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

UI操作总结

该类 SolarWebx 继承自 WebxIUixLikeMixin,主要用于扩展 giraffe.EasyUILibrary 的功能,提供了一系列与网页操作、元素定位、截图、图片处理等相关的方法。以下是对该类中每个方法的简要总结:

  1. __init__ 方法

    • 作用:初始化 SolarWebx 实例。调用父类的初始化方法,初始化 OpenCVLibrary,设置页面 HTML 的 MD5 值、解析器,初始化 TOS 相关工具,以及维护窗口句柄。
  2. cls_init_tosUtil 方法

    • 作用:类方法,初始化 TosUtil 实例,设置 TOS 目录等相关属性。
  3. win_main_handle 属性及相关方法

    • win_main_handle 属性:获取或设置主窗口句柄。
    • win_main_handle.setter 方法:设置主窗口句柄,并在非首次设置时记录日志。
    • _main_handle_reset 方法:重置主窗口句柄为空字符串并返回。
    • win_switch_to_main 方法:切换到已存储的主窗口句柄。
  4. help_handle 属性及相关方法

    • help_handle 属性:获取或设置辅助窗口句柄。
    • help_handle.setter 方法:设置辅助窗口句柄,断言其类型并记录日志。
    • _help_handle_reset 方法:重置辅助窗口句柄为空字符串并返回。
  5. ui_open_url 方法

    • 作用:访问指定的 URL。简化了父类方法中的日志记录,检查浏览器是否已开启,格式化 URL,记录访问前后的 URL 并截图,等待页面加载。
  6. uix_is_xpath 方法

    • 作用:判断给定的字符串是否为 XPath 表达式。
  7. uix_get_pageHtmlParse 方法

    • 作用:通过 HTML 解析器处理复杂的页面原始逻辑。根据传入的参数获取页面 HTML 数据并解析,支持从 TOS 获取 HTML 数据。
  8. uix_cap_scene 方法

    • 作用:进行 HTML 离线定位器截屏。保存页面截图,将 HTML 数据上传到 TOS,并记录相关日志。
  9. uix_get_outer_html 方法

    • 作用:获取页面的根元素(HTML 标签)的 outerHTML。
  10. uix_xpath_multi_fast_finds 方法

    • 作用:根据多个 XPath 表达式在 HTML 解析树中批量快速查找控件,并根据预期数量进行校验。
  11. uix_xpath_find 方法

    • 作用:通过 XPath 查找最多一个控件,返回 WebElement 对象。支持滚动到元素并鼠标悬浮,根据查找结果数量进行相应处理。
  12. uix_findOne_byXpath 方法

    • 作用:与 uix_xpath_find 方法相同,为该方法的别名。
  13. _get_elem_brief_ls 方法

    • 作用:获取元素列表中每个元素的简要 XPath 路径。
  14. ui_page_screenshot 方法

    • 作用:对当前页面截图,可选择是否删除获取的图片。
  15. ui_chart_screenshot 方法

    • 作用:对给定名称的图表进行截图,支持设置超时、使用裁剪方式截图以及是否删除获取的图片。
  16. cv_assert_chart_line 方法

    • 作用:校验图表线条,根据图片路径进行校验,校验完成后删除本地图片。
  17. element_screenshot 方法

    • 作用:对指定元素进行截图,可选择是否删除获取的图片。
  18. diff_img 方法

    • 作用:对比两张图片,返回图片的相似度等信息。
  19. image_diff 方法

    • 作用:执行图片比对或保存基准图片的操作。支持对元素截图并与 TOS 中的图片对比,或保存元素截图为基准图片到 TOS。
  20. ui_image_diff 方法

    • 作用:根据指定模式执行图片比对或保存基准图片操作,并根据相似度进行断言和日志记录。
  21. image_cropping 方法

    • 作用:对图片进行剪裁,根据给定的坐标百分比调整并保存图片。
  22. uix_Wait 方法

    • 作用:等待页面元素可见,超时则截图并抛出异常。
  23. does_the_chart_exist 方法

    • 作用:校验图形是否存在,通过检查截图中是否存在特定颜色的图形进行判断。
  24. ui_find_element 方法

    • 作用:通过选择器查找元素并返回第一个元素。
  25. get_elements_text 方法

    • 作用:获取元素对象列表的所有文本信息,支持 XPath 选择器转换。
  26. get_element_text 方法

    • 作用:获取单个元素对象的文本信息。
  27. diff_text_matching_degree 方法

    • 作用:校验两个文本的匹配度,返回匹配度比值。
  28. get_clipboard_data 方法

    • 作用:获取粘贴板的值。
  29. set_clipboard_data 方法

    • 作用:设置粘贴板的值。
  30. uix_find_element_returned_again 方法

    • 作用:通过 CSS 选择器查询元素,如果存在则返回第一个元素,否则返回空列表。
  31. uix_find_elements_returned_again 方法

    • 作用:通过 CSS 选择器查询元素,如果存在则返回所有元素列表,否则返回空列表。
  32. switch_en 方法

    • 作用:刷新页面后切换到英文模式。
  33. try_collection_page_verification 方法

    • 作用:在取消收藏时,通过多次循环确保页面元素状态的稳定性,根据期望结果进行断言。
  34. uix_TryToFindOne_byXpath 方法

    • 作用:尝试通过 XPath 寻找元素,在指定时间内找到则返回元素,否则忽略异常并返回空列表。
  35. uix_xpath_click 方法

    • 作用:通过 XPath 查找元素并点击,支持滚动、高亮显示、自动切换窗口等功能,并在点击后截图。
  36. uix_findOneThenClick_byXpath 方法

    • 作用:与 uix_xpath_click 方法相同,为该方法的别名。
  37. uix_xpath_finds 方法

    • 作用:通过 XPath 查找多个控件,返回 WebElement 对象列表,可根据查找结果是否为空进行断言。
  38. uix_find_xpath 方法

    • 作用:通过 XPath 查找元素,返回第一个元素,如果没有找到则返回空列表。
  39. uix_finds_byXpathuix_finds_xpath 方法

    • 作用:与 uix_xpath_finds 方法相同,为该方法的别名。
  40. ui_click_element 方法

    • 作用:点击元素,支持 XPath、CSS 或元素对象定位,点击后等待页面加载、截图,并可自动切换窗口。
  41. uix_auto_switch_win 方法

    • 作用:自动跟随切换至新增的窗口,并记录窗口变化日志。
  42. exception_pass 方法

    • 作用:执行函数时捕获异常,可返回默认值或 0。
  43. multiple_choice_one 方法

    • 作用:对给定列表中的值执行指定函数,根据是否多选一的场景进行判断和断言。
  44. for_each 方法

    • 作用:对可迭代数据执行指定函数,支持异常处理、中断循环等功能。
  45. ui_imc_wait_page_loading 方法

    • 作用:等待页面加载完成,支持滑动加载全屏数据、重试等功能,并记录相关日志。
  46. uix_xpath_wait 方法

    • 作用:等待 XPath 元素出现或消失,可设置超时时间、是否允许多个元素等参数,并在异常时截图。
  47. uix_waitOne_byXpath 方法

    • 作用:与 uix_xpath_wait 方法相同,为该方法的别名。
  48. uix_xpath_waitClick 方法

    • 作用:等待 XPath 元素出现后点击,并在点击后截图。
  49. uix_waitOneThenClick_byXpath 方法

    • 作用:与 uix_xpath_waitClick 方法相同,为该方法的别名。
  50. uix_findOne_byOcrpath 方法

    • 作用:通过 OCR 路径检查获取到的值是否唯一,多次请求 OCR 接口直到成功或达到最大重试次数。
  51. move_by_rect_info_special 方法

    • 作用:重载方法,根据给定的矩形信息移动元素。
  52. uix_xpath_clickToChange 方法

    • 作用:通过 XPath 点击元素,校验点击后元素状态是否变化,并可根据需要截图和断言。
  53. uix_switch_to_window 方法

    • 作用:切换到指定索引的窗口,并返回当前窗口句柄。
  54. uix_switch_to_window_handle 方法

    • 作用:切换到指定的窗口句柄,可选择是否在句柄不存在时抛出异常。
  55. uix_switch_win_then_back 方法

    • 作用:切换至新的或已有的辅助窗口,然后回退至指定的主窗口。
  56. send_command_v 方法

    • 作用:模拟粘贴操作,兼容不同操作系统的粘贴快捷键。
  57. uix_find_child_elements 方法

    • 作用:将父元素转换为 Navigator 对象,然后通过选择器查找子元素。
  58. ui_check_page_contains_text 方法

    • 作用:校验页面是否包含指定的一个或多个文本,支持在父元素下进行校验。
  59. element_to_navigator 方法

    • 作用:将原生的 WebElement 对象转换为 Navigator 对象,以更好地支持子级查询。
  60. ui_scroll_to_element 方法

    • 作用:优化滚动到元素的方法,支持水平居中滚动。
  61. ui_scroll_height 方法

    • 作用:获取页面滚动条整体高度,根据操作系统类型执行不同的获取方式。
  62. ui_page_height 方法

    • 作用:获取页面整体高度。
  63. ui_go_to_scroll_height 方法

    • 作用:移动滚动条到指定高度,根据操作系统类型执行不同的操作。
  64. ui_move_to_bottom 方法

    • 作用:移动到页面底部,可选择使用 CSS 选择器指定滚动条。
  65. ui_move_to_top 方法

    • 作用:移动到页面顶部,可指定滚动高度和使用 CSS 选择器指定滚动条。
  66. ui_visible_area_is_chart 方法

    • 作用:判断传入的元素是否在当前可视页面中,并进行截图和断言。
  67. uix_get_chrome_recorded_api 方法

    • 作用:抓取录制的 API 信息,可根据 URL 过滤仅返回包含指定 URL 过滤器的 API。
  68. ui_add_cookies_to_site 方法

    • 作用:向给定网站注入 cookies,支持解析字符串类型的 cookies 并处理不同类型的 cookies 数据。
  69. uix_addCookieMap 方法

    • 作用:向网站添加 cookie 映射,支持过滤、设置 sameSite 属性等功能,并记录相关日志。
  70. ui_sleep 方法

    • 作用:使程序暂停指定的时间,并记录日志。
  71. uix_click_point 方法

    • 作用:通过坐标点击页面,支持偏移量和双击操作。
  72. uix_clickOne_byOcrpath 方法

    • 作用:通过 OCR 路径找到一个坐标点并点击。
  73. _get_ocr_pic_ratio 方法

    • 作用:获取 OCR 图片的比例,根据操作系统返回不同的经验比例值。
  74. _uix_detect_text_by_ocr 方法

    • 作用:使用 OCR 检测图片中的文本,去除图片比例的影响。
  75. _get_text_location_by_ocrpath 方法

    • 作用:通过 OCR 路径获取文本的位置,支持返回文本、指定索引、完全匹配等功能。
  76. uix_finds_byOcrpath 方法

    • 作用:通过 OCR 路径查找元素,增加重试机制,最多重试 10 次。
  77. uix_finds_byOcrpath1 方法

    • 作用:通过 OCR 路径查找元素的具体实现,支持简单模式、区域裁剪等功能。
  78. uix_click_elem 方法

    • 作用:点击指定元素并进行截图。
  79. ui_click 方法

    • 作用:点击元素或文本,支持索引、等待页面加载、截图等功能。
  80. ui_check_page_not_contains_elementByXpath 方法

    • 作用:校验页面不包含指定 XPath 的元素,等待超时后截图并返回结果。

相关文章:

UI操作总结

该类 SolarWebx 继承自 Webx 和 IUixLikeMixin,主要用于扩展 giraffe.EasyUILibrary 的功能,提供了一系列与网页操作、元素定位、截图、图片处理等相关的方法。以下是对该类中每个方法的简要总结: __init__ 方法 作用:初始化 Sola…...

数据结构——实验八·学生管理系统

嗨~~欢迎来到Tubishu的博客🌸如果你也是一名在校大学生,正在寻找各种编程资源,那么你就来对地方啦🌟 Tubishu是一名计算机本科生,会不定期整理和分享学习中的优质资源,希望能为你的编程之路添砖加瓦⭐&…...

力扣hot100-->滑动窗口、贪心

你好呀,欢迎来到 Dong雨 的技术小栈 🌱 在这里,我们一同探索代码的奥秘,感受技术的魅力 ✨。 👉 我的小世界:Dong雨 📌 分享我的学习旅程 🛠️ 提供贴心的实用工具 💡 记…...

Linux 内核中的高效并发处理:深入理解 hlist_add_head_rcu 与 NAPI 接口

在 Linux 内核的开发中,高效处理并发任务和数据结构的管理是提升系统性能的关键。特别是在网络子系统中,处理大量数据包的任务对性能和并发性提出了极高的要求。本文将深入探讨 Linux 内核中的 hlist_add_head_rcu 函数及其在 NAPI(网络接收处理接口)中的应用,揭示这些机制…...

centos哪个版本建站好?centos最稳定好用的版本

在信息化飞速发展的今天,服务器操作系统作为构建网络架构的基石,其稳定性和易用性成为企业和个人用户关注的重点。CentOS作为一款广受欢迎的开源服务器操作系统,凭借其强大的性能、出色的稳定性和丰富的软件包资源,成为众多用户建…...

软件越跑越慢的原因分析

如果是qt软件,可以用Qt Creator Profiler 作性能监控如果是通过web请求,可以用JMeter监控。 软件运行过程中逐渐变慢的现象,通常是因为系统资源(如 CPU、内存、磁盘 I/O 等)逐渐被消耗或软件中存在性能瓶颈。这个问题…...

LeetCode 力扣热题100 二叉树的直径

class Solution { public:// 定义一个变量 maxd,用于存储当前二叉树的最大直径。int maxd 0; // 主函数,计算二叉树的直径。int diameterOfBinaryTree(TreeNode* root) {// 调用 maxDepth 函数进行递归计算,并更新 maxd。maxDepth(root);// …...

【图文详解】lnmp架构搭建Discuz论坛

安装部署LNMP 系统及软件版本信息 软件名称版本nginx1.24.0mysql5.7.41php5.6.27安装nginx 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 关闭防火墙 systemctl stop firewalld &&a…...

小哆啦解题记:整数转罗马数字

小哆啦解题记:整数转罗马数字 小哆啦开始力扣每日一题的第十四天 https://leetcode.cn/problems/integer-to-roman/submissions/595220508/ 第一章:神秘的任务 一天,哆啦A梦接到了一项任务——将一个整数转换为罗马数字。他心想:…...

【Java数据结构】排序

【Java数据结构】排序 一、排序1.1 排序的概念1.2 排序的稳定性1.3 内部排序和外部排序1.3.1 内部排序1.3.2 外部排序 二、插入排序2.1 直接插入排序2.2 希尔排序 三、选择排序3.1 选择排序3.2 堆排序 四、交换排序4.1 冒泡排序4.2 快速排序Hoare法:挖坑法&#xff…...

我的求职之路合集

我把我秋招和春招的一些笔面试经验在这里发一下,网友们也可以参考一下。 我的求职之路:(1)如何谈自己的缺点 我的求职之路:(2)找工作时看重的点 我的求职之路:(3&…...

数据结构(四) B树/跳表

目录 1. LRU 2. B树 3. 跳表 1. LRU: 1.1 概念: 最近最少使用算法, 就是cache缓存的算法. 因为cache(位于内存和cpu之间的存储设备)是一种容量有限的缓存, 有新的数据进入就需要将原本的数据进行排出. 1.2 LRU cache实现: #include <iostream> #include <list>…...

Arcgis国产化替代:Bigemap Pro正式发布

在数字化时代&#xff0c;数据如同新时代的石油&#xff0c;蕴含着巨大的价值。从商业决策到科研探索&#xff0c;从城市规划到环境监测&#xff0c;海量数据的高效处理、精准分析与直观可视化&#xff0c;已成为各行业突破发展瓶颈、实现转型升级的关键所在。历经十年精心打磨…...

LBS 开发微课堂|AI向导接口服务:重塑用户的出行体验

为了让广大开发者 更深入地了解 百度地图开放平台的 技术能力 轻松掌握满满的 技术干货 更加简单地接入 位置服务 我们特别推出了 “位置服务&#xff08;LBS&#xff09;开发微课堂” 系列技术案例 第六期的主题是 《AI向导接口服务的能力与接入方案》 随着地图应…...

AI导航工具我开源了利用node爬取了几百条数据

序言 别因今天的懒惰&#xff0c;让明天的您后悔。输出文章的本意并不是为了得到赞美&#xff0c;而是为了让自己能够学会总结思考&#xff1b;当然&#xff0c;如果有幸能够给到你一点点灵感或者思考&#xff0c;那么我这篇文章的意义将无限放大。 背景 随着AI的发展市面上…...

openstack单机安装

openstack单机安装 网卡配置安装依赖开启虚拟环境修改配置文件 部署openstack部署openstack客户端访问可视化界面Horizon补充 本篇主要讲述Ubuntu2204单机安装openstackstable/2024.2。其他版本的Linux系统或者openstack版本&#xff0c;请参考openstack官网。 网卡配置 需要配…...

Vue3实现小红书瀑布流布局任意组件动态更新页面方法实践

思路 1.首先定义一个瀑布流容器&#xff0c;它的高度暂定&#xff08;后面会更新&#xff09;。把需要布局的组件&#xff08;这里叫做waterfall-item&#xff09;放在瀑布流容器里面渲染出来。使用绝对定位&#xff08;position: absolute&#xff09;&#xff0c;把它移到屏幕…...

深度学习项目--基于LSTM的糖尿病预测探究(pytorch实现)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 LSTM模型一直是一个很经典的模型&#xff0c;一般用于序列数据预测&#xff0c;这个可以很好的挖掘数据上下文信息&#xff0c;本文将使用LSTM进行糖尿病…...

Next.js 实战 (十):中间件的魅力,打造更快更安全的应用

什么是中间件&#xff1f; 在 Next.js 中&#xff0c;中间件&#xff08;Middleware&#xff09;是一种用于处理每个传入请求的功能。它允许你在请求到达页面之前对其进行修改或响应。 通过中间件&#xff0c;你可以实现诸如日志记录、身份验证、重定向、CORS配置、压缩等任务…...

python+playwright自动化测试(四):元素操作(键盘鼠标事件)、文件上传

目录 鼠标事件 悬停 移动 按键 点击 滚轮操作 拖拽 键盘事件 输入文本内容 type输入内容 fill输入内容 按键操作press 文件上传 下拉选/单选框/复选框 滚动条操作 鼠标事件 悬停 page.get_by_text(设置,exactTrue).nth(1).hover() 移动 page.mouse.move(x33…...

【论文+源码】Diffusion-LM 改进了可控文本生成

这篇论文探讨了如何在不重新训练的情况下控制语言模型&#xff08;LM&#xff09;的行为&#xff0c;这是自然语言生成中的一个重大开放问题。尽管近期一些研究在控制简单句子属性&#xff08;如情感&#xff09;方面取得了成功&#xff0c;但在复杂的细粒度控制&#xff08;如…...

双目立体校正和Q矩阵

立体校正 对两个摄像机的图像平面重投影&#xff0c;使二者位于同一平面&#xff0c;而且左右图像的行对准。 Bouguet 该算法需要用到双目标定后外参(R&#xff0c;T) 从上图中可以看出&#xff0c;该算法主要分为两步&#xff1a; 使成像平面共面 这个办法很直观&#xff…...

vscode 自用插件

vscode按住ctrl鼠标左键无法跟踪跳转方法名&#xff0c;装这些插件就可以 vscode-elm-jump:常规的代码跳转定义 Vue CSS Peek:跳转css定义 vue-helper:变量函数只跳转定义 Vetur 代码提示 Baidu Comate 自动帮你写console.log Turbo Console Log: ctrl alt l 选中变量之后&am…...

OpenCV:在图像中添加高斯噪声、胡椒噪声

目录 在图像中添加高斯噪声 高斯噪声的特性 添加高斯噪声的实现 给图像添加胡椒噪声 实现胡椒噪声的步骤 相关阅读 OpenCV&#xff1a;图像处理中的低通滤波-CSDN博客 OpenCV&#xff1a;高通滤波之索贝尔、沙尔和拉普拉斯-CSDN博客 OpenCV&#xff1a;图像滤波、卷积与…...

DuckDB:Golang操作DuckDB实战案例

DuckDB是一个嵌入式SQL数据库引擎。它与众所周知的SQLite非常相似&#xff0c;但它是为olap风格的工作负载设计的。DuckDB支持各种数据类型和SQL特性。凭借其在以内存为中心的环境中处理高速分析的能力&#xff0c;它迅速受到数据科学家和分析师的欢迎。在这篇博文中&#xff0…...

MySQL入门(数据库、数据表、数据、字段的操作以及查询相关sql语法)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

kotlin的协程的基础概念

Kotlin的协程是一种用于简化异步编程的强大工具。 理解协程的基础概念可以帮助开发者有效地利用其能力。 以下是Kotlin协程的一些关键基础概念&#xff1a; 协程&#xff08;Coroutines&#xff09; &#xff1a; 协程是一种用于处理并发任务的编程模型&#xff0c;它可以在单…...

Spring--SpringMVC使用(接收和响应数据、RESTFul风格设计、其他扩展)

SpringMVC使用 二.SpringMVC接收数据2.1访问路径设置2.2接收参数1.param和json2.param接收数据3 路径 参数接收4.json参数接收 2.3接收cookie数据2.4接收请求头数据2.5原生api获取2.6共享域对象 三.SringMVC响应数据3.1返回json数据ResponseBodyRestController 3.2返回静态资源…...

隐藏php版本信息x-powered-by

在生产环境中&#xff0c;并不想让别人知道用的是什么版本的php&#xff0c;可以把x-powered-by隐藏掉 在nginx配置文件加上fastcgi_hide_header X-Powered-By; 如下图所示 配置修改后平滑重启nginx...

哈夫曼树(构建、编码、译码)(详细分析+C++代码实现)

D 哈夫曼树 题目要求 编写一个哈夫曼编码译码程序。针对一段文本&#xff0c;根据文本中字符出现频率构造哈夫曼树&#xff0c;给出每个字符的哈夫曼编码&#xff0c;并进行译码&#xff0c;计算编码前后文本大小。 为确保构建的哈夫曼树唯一&#xff0c;本题做如下限定&…...