我如何为 Chrome 扩展程序编写 JavaScript 代码,向下滚动直到结束(我想获取所有 Facebook 好友列表)

How I can write the JavaScript code for Chrome extension that scroll down till end (I want to get all Facebook friends list)

我正在开发一个 Chrome 扩展,我必须在没有 API 的情况下阅读我在 Facebook 上的所有朋友。 我用过 window.scrollTo(0, document.body.scrollHeight);在 Javascript 中具有睡眠功能的 while 循环中,但睡眠会暂停所有 javascript 执行并且 Facebook 数据无法正常加载。

好友列表link https://web.facebook.com/profile-id/friends_all

你可以这样实现——滚动,等待更多内容加载,比较滚动高度,如果加载更多内容则重复。这是 async/await 和 setTimeout 睡眠持续时间的实现:

(async (sleepDuration = 2000) => {
  let previousHeight;
  let newHeight = document.body.scrollHeight;
  do {
    previousHeight = newHeight;
    window.scrollTo(0, previousHeight);
    await new Promise(resolve => setTimeout(resolve, sleepDuration));
    newHeight = document.body.scrollHeight;
  } while (previousHeight !== newHeight);
})();