如何解决dispatchEvent 上的 Chrome 内存泄漏
const focusEvent = new FocusEvent('focus',{
bubbles: true
});
// Trigger the input value in the search Box
const inputEvent = new InputEvent('input',{
bubbles: true
});
// Send enter
const keyEvent = new KeyboardEvent('keydown',{
code: 'Enter',key: 'Enter',keyCode: 13,view: window,bubbles: true
});
let search = document.querySelector('#side > div._1Ra05 > div > label > div > div._1awRl.copyable-text.selectable-text');
function searchList(name = "") {
try {
search.textContent = name;
search.dispatchEvent(focusEvent);
search.dispatchEvent(inputEvent);
search.dispatchEvent(keyEvent);
search.removeEventListener('focus',focusEvent);
search.removeEventListener('input',inputEvent);
search.removeEventListener('keydown',keyEvent);
} catch { console.log(error); };
}
我正在使用 puppeteer
并且在 await page.evaluate(async ({
内部我有一个循环在每个 function searchList
上调用 100 ms
,问题是浏览器内存使用量不断增长, 30 分钟后超过 1GB 的内存。
我发现造成它的原因是 search.dispatchEvent
行,当我评论它们时,内存不会增加。
search.removeEventListener('focus',focusEvent);
search.removeEventListener('input',inputEvent);
search.removeEventListener('keydown',keyEvent);
但是随着时间的推移,它并没有改变与内存增加有关的任何事情,有人知道我还可以尝试阻止或释放内存增长吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。