js通过xpath定位元素并且操作元素以下拉框select为例

news/2024/7/7 20:21:39

js也可以使用xpath定位元素,现在实例讲解。

页面上有一个下拉框,里面内容有三个,用F12看一下

一、使用xpath定位这个下拉框select 

el=document.evaluate('//select[@name="shoppingPreference"]', document).iterateNext()

 

二、为下拉框选择指定内容,比如想选择Men's,也就是第1个option(因为从0开始计算)

el.options[1].selected = true

三、触发事件函数,使用它才能在网页上看到变化

function fireEvent(element, event) {
                if (document.createEventObject) {
                    var evt = document.createEventObject();
                    return element.fireEvent('on' + event, evt)
                } else {
                    var evt = document.createEvent("HTMLEvents");
                    evt.initEvent(event, true, true)
                    return !element.dispatchEvent(evt);
                }
            }

 四、使用触发函数,改变下拉框的页面显示内容

fireEvent(el, "change")

运行完毕后,看页面已经发生变化。


http://lihuaxi.xjx100.cn/news/1558802.html

相关文章

/node_modules/XXX/index.js:XXX XXX ??= X;SyntaxError: Unexpected token ‘??=‘

这问题 老实说有点奇葩 不影响运行 反倒运行提交了 不解决这个问题提交不了代码 这个错误是由于语法不兼容导致的。?? 是一个相对较新的 JavaScript 语法,也就是空值合并赋值操作符,它在 Node.js 版本低于 15 或者某些浏览器中不被支持。 那么 了解…

Java下打印直角三角型(另一个方向)

代码如下&#xff1a; public class MyWork {public static void main(String[] args) {int num 5;for (int i 0; i < num; i) {for (int j 0; j < i; j) {System.out.print("-");}for (int j 0; j < num - i; j) {System.out.print("*");}S…

软件评测师之Cache

缓存放在CPU和主存之间&#xff0c;用来提高CPU的效率。 缓存由两个部分构成&#xff0c;控制部分和高速缓存。 高速缓存的工作原理&#xff1a; CPU在运行的过程中需要数据时&#xff0c;会发出指令同时到控制部分和主存&#xff0c;如果需要的数据在高速缓存里面有&#xff0…

myabtis的缓存级别

文章目录 MyBatis缓存的区别是什么作用范围方面有哪些差异生命周期数据进行了存储缓存的优缺点 MyBatis缓存的区别是什么 MyBatis 提供了一级缓存和二级缓存&#xff0c;这两者的主要区别在于其作用范围和生命周期。 一级缓存&#xff1a;一级缓存是 SqlSession 级别的缓存。…

极光笔记 | 大语言模型插件

在人工智能领域&#xff0c;大语言模型&#xff08;LLMs&#xff09;是根据预训练数据集进行”学习“&#xff0c;获取可以拟合结果的参数&#xff0c;虽然随着参数的增加&#xff0c;模型的功能也会随之增强。但无论专业领域的小模型&#xff0c;还是当下最火、效果最好的大模…

提升预算管控精度,助力保险资管协会财务管理数字化转型

数字化转型是当前中国经济社会发展的重要趋势和根本方向。中国保险资产管理业协会&#xff08;以下称“协会”&#xff09;是专门履行保险资产管理自律职能的全国性金融自律组织。过去几年&#xff0c;协会一直在积极探索应用信息化手段&#xff0c;加强预算管理。 近期&#x…

Windows 构建 Acid Game Engine 的坑

下载 OpenAL 的话&#xff0c;配置环境变量到 OpenAL 1.1 SDK 就好了 我的 cmake 的 FindOpenAL 里面会添加 OpenAL 的库&#xff0c;所以我不知道为什么原仓库会把那个判断是否已经存在 OpenAL 库的语句注释掉……我就加回来了 Sources\CMakeLists.txt # OpenAL must be in…

打破JSON的束缚:探寻Spring @JsonComponent的灵活性和扩展性

文章首发地址 在Spring框架中&#xff0c;JsonComponent注解用于自定义JSON序列化和反序列化的组件。它可以将一个类标记为一个Json组件&#xff0c;然后在对象的序列化和反序列化过程中&#xff0c;使用自定义的方式来处理JSON数据。 使用JsonComponent注解&#xff0c;需要创…