我试图通过在浏览器控制台中运行一些 javascript 来自动化某些事情。基本上,脚本应该做的是:
- 点击某物
- 等待加载动画 div 消失
- 做点别的
我的等待功能有问题。我怀疑我的方法是错误的,但由于某种原因,我试图调用它时遇到错误。运行代码时出现两次此错误:
Uncaught (in promise) ReferenceError: waitForLoad is not defined ReferenceError: waitForLoad is not defined
我的代码:
button.click() // causes a loading animation div to appear
await waitForLoad();
console.log('Done waiting');
async function waitForLoad() {
let isWaiting = true;
while (isWaiting) {
await sleep(200);
isWaiting = nodeExists('div.load-animation');
}
}
function nodeExists(selector) {
return document.querySelectorAll(selector).length > 0;
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}