首页IT科技js编写位置(聊一聊js中元素定位的方法)

js编写位置(聊一聊js中元素定位的方法)

时间2025-06-20 15:33:30分类IT科技浏览3804
导读:在做selenium web自动化的时候,有时通过selenium定位不到,或无法操作元素,这个时候就需要通过js来...

在做selenium web自动化的时候            ,有时通过selenium定位不到                  ,或无法操作元素      ,这个时候就需要通过js来

定位/操作元素      ,然后通过selenium自带的execute_script()方法去执行js语句            。下面介绍几种js的定位方法                  。

一.ID

id的值都是唯一的                  ,所以当存在id字段时可优先使用

二.NAME

name值定位元素的话返回的为list            ,用下标取值即可      。如下通过name定位并执行点击事件            。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <script> function a(){ document.getElementsByName("button_name")[0].click() //name定位 } function b(){ alert("word") } </script> <body> <span name="button_name" onclick="b()">隐藏</span> <button onclick="a()">点击</button> </body> </html>

三.TAG_NAME

tag_name对应的便是标签名称      ,返回的也是list集合                  。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <script> function a(){ document.getElementsByTagName("input")[0].value="请输入内容" //输入内容 } </script> <body> <input> <button onclick="a()">点击</button> </body> </html>

四.CLASS_NAME

class_name对应的值是class                  ,返回list集合

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <script> function a(){ alert(document.getElementsByClassName("h2_class")[0].style.backgroundImage) //classname定位 } </script> <body> <h2 class="h2_class" style="display: block; background-image: url(https://static.geetest.com/captcha_v3/batch/v3/25173/2023-01-3)"></h2> <button onclick="a()">点击</button> </body> </html>

五.CSS

css定位有两个方法            ,下面一一演示看下      。

1.querySelectorAll():返回所有匹配的结果,list集合      。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <script> function a(){ document.querySelectorAll("input[name=2]")[1].value="123" //返回全部 } </script> <body> <div class="liming"> <div> <input name="2"> </div> <div> <input name="2"> </div> </div> <button onclick="a()">点击</button> </body> </html>

2.querySelector():不管匹配结果有多少个                  ,只返回第一个                  。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <script> function a(){ alert(document.querySelector("div[class=liming]>div:nth-child(2)>input").getAttribute("name")) } </script> <body> <div class="liming"> <div> <input name="1"> </div> <div> <input name="2"> </div> </div> <button onclick="a()">点击</button> </body> </html>
文章来源:https://www.cnblogs.com/lihongtaoya/                  ,请勿转载
声明:本站所有文章,如无特殊说明或标注            ,均为本站原创发布            。任何个人或组织                  ,在未征得本站同意时      ,禁止复制            、盗用                  、采集      、发布本站内容到任何网站            、书籍等各类媒体平台      。如若本站内容侵犯了原著者的合法权益            ,可联系我们进行处理                  。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
手机打码赚钱软件平台哪个好(如何通过手机打码赚钱-手机赚钱平台日结免费,分享几个手机**赚钱日结项目)