使用Selenium Python查找特定属性包含指定值的所有元素
实现查找包含display: none样式元素的方法
你可以通过以下几种常用方式实现需求:
方法1:原生JavaScript实现
- 匹配所有实际渲染为display: none的元素(包含样式表设置、内联样式设置的隐藏元素):
const allElements = document.getElementsByTagName('*'); const hiddenElements = []; for (let el of allElements) { // 读取元素最终生效的display属性,自动忽略空格、大小写等格式问题 if (window.getComputedStyle(el).display === 'none') { hiddenElements.push(el); } } console.log('所有display为none的元素:', hiddenElements);
如果你只需要匹配内联style属性中手动写入display: none的元素,不需要统计样式表设置的隐藏元素,可以用以下写法:
const inlineHiddenElements = Array.from(document.querySelectorAll('*')).filter(el => el.style.display === 'none' );
方法2:CSS选择器直接匹配内联样式
简单场景下可以直接用属性选择器匹配内联style内容,适配有无空格的两种写法:
*[style*="display: none"], *[style*="display:none"] { /* 示例:给匹配到的元素加红色边框标识 */ border: 2px solid red; }
方法3:jQuery实现
如果项目引入了jQuery,可以直接用filter方法快速筛选:
const $hiddenElements = $('*').filter(function() { return $(this).css('display') === 'none'; });
内容的提问来源于stack exchange,提问作者Demaxl
相关产品推荐
相关产品推荐

