浏览器插件开发如何从页面的所有dom中找到自己需要的?

比如有一个确定的按钮,但是这个按钮相关的class和id一直在变,目前只能通过文本来寻找这个按钮。

请问从页面中的dom中如何准确的找到需要的那个按钮,如何提高循环效率?

阅读 1.6k
3 个回答

缩小查找范围不就行了吗 找到它的(祖)父元素,在(祖)父元素里面找?

或者说你是想调试,但是因为你移动鼠标或者某些操作导致按钮变化了?如果是这种情况 你在控制台打个延迟3秒的debugger,然后差不多2-3秒的时候做相应的操作,导致button的状态变,然后debugger生效,就可以调试了

如果它是个 button 的话就很好办:

Array.from(document.getElementsByTagName('button')).filter(
xxxxx
)[0];

毕竟一个页面里不可能全部都是 button

如果有另外的特征,比如使用自定义的属性 data-xxx="xxx" 这样的,那么

document.querySelector('[data-xxx]');

cdn方式引入jquery,$("button:contains('name')")

推荐问题