首页 > 其他分享 >selenium用js删除元素后,在进行定位

selenium用js删除元素后,在进行定位

时间:2023-11-20 10:14:24浏览次数:99  
标签:定位 span 删除 text selenium js

一个自动化项目,里面有200多个相同元素,着200多个元素,就文本不同。我就想着用文本定位就好了,但是Xpath没有办法定位到下面的元素。
这是下面所遇到的问题:

我就用了 //*[contains(text(),'金湾分公司')] 去定位,但这么写没办法定位到,因为前面有注解<!---->(但我当时一直不知道什么原因,有知道的友友们跟我说下为什么有注解后不能定位了)  

 我后面用了其他几种定位,但还是不行。(如果有知道怎么定位的,可以分享我一下)我就想着把前面注解删掉,试了试,删除后就能定位到了。下面删除后的样子:

 思路有了后,这边使用了selenium里面的js进行一个删除。之前我是一直以为selenium的js只能执行点击事件等其他东西,因为网站教程大多都是这些。
后面才知道里面放的是js代码,只要是js都会执行的。

js_1 = "这里放的是js代码" 
browser.execute_script(js_1)

把下面js删除代码放到↑就行了。(只适用于我这个项目)

const spanList = document.querySelectorAll('span[data-v-3e53d940] > span[data-v-3e53d940]');
spanList.forEach(span => {
const text = span.innerHTML;
const newText = text.replace(/<!---->/g, '');
span.innerHTML = newText;
});

标签:定位,span,删除,text,selenium,js
From: https://www.cnblogs.com/headsetshare/p/17843286.html

相关文章

  • JS如何做到面向对象
    JS本省没有面向对象,它是如何来做类,和类的实例的呢?。1:函数对象的prototype   每个函数对象都有一个prototype成员,指向一个表, functiona(){};  a.prototype指向一个表对象2:表的__proto__  每个js表(Object)对象,都会有一个成员__proto__, 指向一个表(Object)......
  • nodejs你应该知道的13个库 | Sequelize CORS Nodemailer Async Lodash Axios
    1.SequelizeSequelize是一种基于promise的Node.js对象关系映射器(ORM)使用,它使开发人员更容易使用关系数据库。 2.CORSCORS是一个Node.js包,它使用Connect/Express提供跨域资源共享(CORS)作为中间件。CORS包包装了Node.js路由中间件,允许程序从其自己的域以外的......
  • 代码随想录算法训练营第十一天 | ● 20. 有效的括号 ● 1047. 删除字符串中的所有相邻
    今日学习的内容●20.有效的括号varisValid=function(s){letstack=[];for(leti=0;i<s.length;i++){lettemp=s[i];if(temp=='('){stack.push(')')continue;}if(......
  • protobuf js逆向
    1.protosyntax="proto3";messagePerson{stringname=1;//name标识1顺序int32age=2;//age标识2顺序}2.protobufjsletprotobuf=require("protobufjs");//npminstall-gprotobufjsprotobuf.load("1.proto",functio......
  • js中prototype的作用
    如图参考链接:https://www.w3school.com.cn/js/js_object_prototypes.asp......
  • jsoup根据id 选择器来获取具有特定ID的元素
      importorg.jsoup.Jsoup;importorg.jsoup.nodes.Document;importorg.jsoup.nodes.Element;publicclassMain{publicstaticvoidmain(String[]args){Stringhtml="<html><body><divid='myId'>我是ID为myId的di......
  • 如何删除 Angular SSR 应用 State Transfer 嵌入到 HTML 里的某些字段
    笔者这篇文章介绍了AngularSSR应用StateTransfer的工作机制和错误排查方法。SSR服务器端发送给客户端response里包含的StateTransfer数据的一个例子如下:<scriptid="serverApp-state"type="application/json">...&q;headers&q;:{&q;date&q;:[&q;Fri,05Mar......
  • (链表)09-删除链表的倒数第N个节点
    1importjava.util.*;23/*4*publicclassListNode{5*intval;6*ListNodenext=null;7*}8*/9publicclassSolution{10/**11*@paramheadListNode类12*@paramnint整型13*@returnListNode类14......
  • JS特效:跟随鼠标移动的小飞机
    前端网页中,用JS实现鼠标移动时,页面中的小飞机向着鼠标移动。效果源码<!DOCTYPEhtml><html><head><style>*{margin:0;padding:0;}body{height:100vh;background:linear-gradient(200deg,#005bea,#00c6fb);}......
  • mac删除无用的输入与输出设备
    有时候看看着新闻视频,上来就没声音,经过排查发现,mac的输出设备为recordit聚集设备,我记得把这个软件删除了,怎么还有这个东西。可以通过下面的方法,把已确定不要的设备驱动删除掉。删除输入设备cd/Library/Audio/Plug-Ins/HAL在这个目录下,有目前下载过的驱动,可以使用rm-rf......