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

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

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

阅读 1.5k
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')")

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题