py+selenium页面元素display:none多种定位方法

py+selenium页面元素display:none多种定位方法_第1张图片

 

 

 display none为隐藏元素,无法获取他的text

py+selenium页面元素display:none多种定位方法_第2张图片

需要用js把他修改为block

js="document.getElementById('randomPosX').style.display='block'"

login.browser.execute_script(js)

py+selenium页面元素display:none多种定位方法_第3张图片

这里id是动态的无法定位我们可以用classname定位,但是这里有个坑如果你的classname不带下标的话就会一直报错Cannot set property 'display' of undefined;类似的getElementsByTagName('')等也会有这个问题;后面找到问题的原因是应为classname是返回的数组才造成这样

getElementById():返回对指定ID第一个对象的引用

getElementsByName() :返回带有指定名称的对象集合

getElementsByTagName():返回带有指定标签名的对象集合

js = "document.getElementsByClassName('el-popover el-popper')[0].style.display='block'"
login.browser.execute_script(js)

还可以用querySelector来操作
js='document.querySelector(".el-popover.el-popper").style.display = "block";'
login.browser.execute_script(js)

 

你可能感兴趣的:(py+selenium页面元素display:none多种定位方法)