动态元素定位方法

一:使用CSS选择器

通过部分匹配操作符定位动态属性中的固定部分。*=(包含),^=(开头),$=(结尾)。

/* 匹配id前缀为user_的元素 */
css=div[id^="user_"]/* 匹配class包含item-box-的元素 */
css=div[class*="item-box-"]/* 匹配href属性以.pdf结尾的元素 */
css=a[href$=".pdf"]

二:使用XPath表达式

利用XPath函数如contains()starts-with()substring()处理动态属性。

<!-- 匹配class包含dynamic-class的元素 -->
xpath=//div[contains(@class, 'dynamic-class')]<!-- 匹配id前缀为search_的元素 -->
xpath=//input[starts-with(@id, 'search_')]<!-- 匹配src属性以_img结尾的元素 -->
xpath=//img[substring(@src, string-length(@src)-3) = '_img']

三:组合定位策略

当动态元素缺乏固定特征时,通过相邻元素或上下文的固定属性进行定位。

示例:动态div下的固定文本标签

<div class="dynamic-123"><span>用户名:</span><input type="text" id="dynamic-input-456"><input type="text2" id="dynamic-input-789">
</div>

定位输入框

xpath=//span[text()='用户名:']/following-sibling::input[2]解释://span[text()='用户名:']:先定位到文本为 "用户名:" 的 <span> 元素
/following-sibling::input[2]:然后选取该 <span> 元素的第二个同级 <input> 元素

加油!你是最棒的!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92925.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92925.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/92925.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OBOO鸥柏丨115寸商用屏/工业液晶显示器招标投标核心标底参数要求

整机参数要求&#xff1a;商用液晶显示器/工业LCD一体机/商业智能终端机/工业防爆显示器/招标投标核心标底参数要求1、整机屏幕采用≥采用115英寸超高清原厂原包原装工业LCD液晶屏面板&#xff1b;具有高色域&#xff0c;显示动态视频、web及3D动画时&#xff0c;保障运动画面流…

麻溜启动Oracle实例demo

注意&#xff1a;镜像非常大并且外网网络过慢&#xff0c;可能得pull一天&#xff08;n次超时&#xff09;。。md后台静默pull命令&#xff1a; nohup docker pull container-registry.oracle.com/database/express:latest > pull.log 2>&1 & 启动实例&#xff1…

应用监控工具Skywalking

目录 Skywalking介绍 Skywalking架构 Skywalking安装 Skywalking使用 Skywalking配置 Skywalking数据持久化 Skywalking告警 Skywalking介绍 Apache Skywalking是一个开源的应用性能监控&#xff08;Application Performance Monitoring&#xff0c;APM&#xff09;工具…

TCP服务建立的全流程详解

TCP的服务监听步骤&#xff08;等待客户端连接前&#xff09;TCP 服务器通过以下步骤完成从初始化到等待客户端连接&#xff0c;为后续的数据传输&#xff08;send()/recv()&#xff09;奠定了基础一、创建套接字&#xff08;Socket&#xff09;作用&#xff1a;套接字是网络通…

数据结构 双链表与LinkedList

本节目标&#xff1a; 认识并且能够实现一个双链表认识LinkedList类并且知道如何去使用 1.双链表 概念 在数据结构中&#xff0c;双链表&#xff08;Doubly Linked List&#xff09; 是一种常见的线性数据结构&#xff0c;它由一系列节点组成&#xff0c;每个节点不仅包含数据…

如何解决 JetBrains IntelliJ IDEA 2024.2 和 2025.2 新版本区域选择问题:key is invalid

如何解决 JetBrains IntelliJ IDEA 2024.2 和 2025.2 新版本区域选择问题&#xff1a;key is invalid 在 JetBrains 发布的 IntelliJ IDEA、PyCharm 2024.2 和 2025.2 新版本中&#xff0c;增加了一个新的功能——区域选择。在设置菜单中&#xff0c;你可以找到这一选项&#…

GSON 框架下百度天气 JSON 数据转 JavaBean 的实战攻略

目录 前言 一、百度天气JSON 1、请求参数 2、返回参数 3、属性映射 二、GSON属性映射实战 1、类对象映射 2、属性字段映射 3、日期数据映射 三、天气接口对象展示 1、接口调用 2、Java属性打印输出 四、总结 前言 在当今数字化时代&#xff0c;数据的高效处理与转换…

NAS技术在县级融媒体中心的架构设计与安全运维浅析

NAS技术在县级融媒体中心的架构设计与安全运维浅析 ——原理剖析、应用实践与防御体系建设作者&#xff1a;高级网络安全工程师 吉林•镇赉融媒 刘晓伟 最后更新&#xff1a;2025年8月 适用对象&#xff1a;媒体行业网络安全从业者一、NAS技术核心原理剖析 1. 基础架构 NAS&am…

CobaltStrike的搭建和使用

下载CobaltStrike环境建议使用jdk17&#xff0c;其他java版本有些功能可能无法使用通过网盘分享的文件&#xff1a;CS4.7key-mht.zip 链接: https://pan.baidu.com/s/1CRd1x4r6EIk14BD3UCLgxw?pwdevf4 提取码: evf4将下载的文件分别放在服务器和 本地/kali 上 也就是服务器为…

【Altium designer】一键给多个器件添加参数

目的: 一键给N个元器件/Part添加参数和修改参数值,比如一键给多个电阻添加“备注”并赋予备注的内容为“不焊接”,或者更改“备注”的内容为“不焊接”或空。 背景: 刚入门用AD画原理图,因为原理图的电阻、电容和芯片等等的冗余/兼容设计太多,增加备注不焊的元器件位号…

熟练掌握switch语句:技巧与运用

目录 一、switch语句基础 基本语法结构&#xff1a; 在C/C中&#xff1a; 注意事项&#xff1a; 二、if与switch语句对比 示例&#xff1a;计算整数除以3的余数 使用if语句实现&#xff1a; 使用switch语句实现&#xff1a; 三、break语句的作用 示例&#xff08;无br…

【03】厦门立林科技——立林科技 嵌入式 校招笔试,题目记录及解析

厦门立林科技——立林科技 嵌入式 校招笔试&#xff0c;题目记录及解析 1.下面的程序的输出是&#xff08;&#xff09;。2.在头文件中#ifndef/#define/#endif的作用是4.执行下面程序中的输出语句后,输出的结果是()6.在32位处理器上,运行如下程序后p的值为()。10.设有两字符串“…

C++算法(数据结构)版

C算法&#xff08;数据结构&#xff09;版 有些题目不是完整的题目&#xff0c;如需查看完整的题目请移步到acwing的算法基础课中 文章目录C算法&#xff08;数据结构&#xff09;版单链表思路&#xff1a;双链表思路&#xff1a;栈思路&#xff1a;队列思路&#xff1a;单调栈…

算法训练营DAY57 第十一章:图论part07

prim算法精讲 53. 寻宝&#xff08;第七期模拟笔试&#xff09; 题目描述&#xff1a; 在世界的某个区域&#xff0c;有一些分散的神秘岛屿&#xff0c;每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路&#xff0c;方便运输。 不同岛屿之间&#xff0c;…

最短路问题从入门到负权最短路

一&#xff0c;BFS层次最短路/*题目描述 题目描述 给出一个 N 个顶点 M 条边的无向无权图&#xff0c;顶点编号为 1∼N。 问从顶点 1 开始&#xff0c;到其他每个点的最短路有几条。 输入格式 第一行包含 2 个正整数 N,M&#xff0c;为图的顶点数与边数。 接下来 M 行&#xff…

AI智能体小白入门指南

AI智能体小白入门指南 ——什么是AI智能体&#xff1f;它们如何工作&#xff1f; 一、AI智能体是什么&#xff1f; AI智能体&#xff08;AI Agent&#xff09;是能感知环境、自主决策并执行动作的人工智能系统。 类比理解&#xff1a;像一个“虚拟机器人”或“数字助手”&#…

《设计模式》策略模式

1.策略模式定义 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一组算法&#xff0c;将每个算法封装起来&#xff0c;并使它们可以相互替换&#xff0c;从而让算法的变化独立于使用它的客户&#xff08;Client&#xff09;。 换…

AWS DMS 深度解析:从迁移任务到复制任务 - 全流程指南与最佳实践

AWS Database Migration Service (DMS) 是一项强大的云服务,用于在源数据库和目标数据库之间安全地迁移数据。其核心优势在于支持几乎零停机时间的迁移,这主要归功于其“变更数据捕获 (CDC)”功能。理解迁移任务 (Migration Task) 和复制任务 (Replication Task) 的关系与操作…

国企社招 | 中国邮政2025年社会招聘开启

添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 原文链接&#xff1a;“邮”你“政”好 | 广东邮政2025年社会…

linux添加自启动

linux添加自启动 配置步骤&#xff1a; 创建systemd服务文件 sudo nano /etc/systemd/system/tme-vod.service将下面artifact中的内容复制到该文件中。 [Unit] DescriptionTME VOD Service Afternetwork.target[Service] Typesimple Userroot Grouproot WorkingDirectory/data/…