我想基于Promise中的setTimeout模拟基于随机时间的鼠标滚动。我的目标是继续向下滚动到网页的底部:应重复调用autoScroll函数,直到到达底部为止,然后解决Promise。当前代码仅运行一次,然后出现2个错误:未捕获的ReferenceError:未定义loopScroll(在浏览器控制台中)UnhandledPromiseRejectionWarning(在VSCode中)。async function loopScroll(page) { await page.evaluate(async () => { await new Promise((resolve, reject) => { let rand = Math.round(Math.random() * (3000 - 500)) + 500; setTimeout(function () { function autoScroll() { let scrollHeight = document.body.scrollHeight; let currentHeight = 0; let distance = 100; window.scrollBy(0, distance); currentHeight += distance; if (currentHeight >= scrollHeight) { resolve(); } } autoScroll(); loopScroll(page); }, rand); }); });};这个异步-承诺的事情让我有些困惑,我对他们没有太多的经验,所以我真的不知道我在做什么错。提前致谢。
添加回答
举报
0/150
提交
取消