Selenium中CSS选择器效率对比:三类描述类选择器哪个更快?
Selenium CSS选择器性能对比:p.description vs .description vs *.description
你的推测是对的,p.description的运行速度确实是三者中最快的,具体性能排序从快到慢为:p.description > .description > *.description,原因如下:
p.description:浏览器可先通过原生APIgetElementsByTagName('p')快速定位所有p标签,再在这个缩小后的元素集合里筛选带description类的元素,匹配范围被精准限制,大幅减少了需要检查的元素数量。.description:会调用原生APIgetElementsByClassName('description'),这个API本身效率不低,但浏览器会全局查找所有带该类的元素——哪怕你明确知道只有p标签有这个类,浏览器并不会提前知晓,所以遍历范围比前者稍大。*.description:通配符*意味着要匹配所有标签,浏览器需要遍历整个DOM树的每一个元素,再逐一检查是否带有description类,这种全量遍历的方式耗时最多。
在DOM结构简单的页面上,三者的性能差异可能不明显,但在元素数量多、结构复杂的页面,这种差异会被显著放大。
内容的提问来源于stack exchange,提问作者Royi Cohen
相关产品推荐
相关产品推荐

