问题描述
我正在尝试创建一个Chrome扩展程序来与twitch网站进行交互。
到目前为止,它在大多数时间都有效,但是随机出现错误。
这是内容脚本的代码:
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
for (var i = 0; i < mutation.addedNodes.length; i++){
if (mutation.addedNodes[i].nodeType == 1){
if (mutation.addedNodes[i].hasAttribute("aria-describedby")){
mutation.addedNodes[i].querySelector("button").click();
}
}
}
});
});
window.addEventListener('load',function () {
node = document.querySelector("[data-test-selector='community-points-summary']");
observer.observe(node,{ subtree: true,childList: true });
});
问题有时是“节点”为空,这会导致错误:
Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
我的假设是页面未完全加载,然后querySelector无法获取DOM。但是我不明白为什么会这样,因为我在“加载”功能中,只有在页面完全加载后才应触发。
调试起来有点困难,因为它大多是随机的。如果我刷新了抽动页面,则脚本可以工作。我觉得如果页面在缓存中,就没有这个问题,但是我不确定。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)