一个自动化项目,里面有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]');标签:定位,span,删除,text,selenium,js From: https://www.cnblogs.com/headsetshare/p/17843286.html
spanList.forEach(span => {
const text = span.innerHTML;
const newText = text.replace(/<!---->/g, '');
span.innerHTML = newText;
});