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

     2023-05-07     294

关键词:

【中文标题】如何为向下滚动到最后的 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) 【发布时间】:2021-01-24 23:38:14 【问题描述】:

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

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

【问题讨论】:

欢迎来到***!您需要发布代码 sn-p。这使响应者可以查看您的尝试、判断您的复杂程度(允许根据您的技能水平量身定制答案)并提供相关回复。 【参考方案1】:

您可以通过这种方式实现它——滚动,等待加载更多内容,比较滚动高度,如果加载了更多内容,则重复。这是 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);
)();

【讨论】:

如何为 Gmail 开发 Chrome 扩展程序?

】如何为Gmail开发Chrome扩展程序?【英文标题】:HowtodevelopChromeextensionforGmail?【发布时间】:2014-06-0404:17:09【问题描述】:我正在考虑为Gmail开发Chrome扩展程序,我想知道当前的最佳做法是什么。例如:默认为每封电子邮件附加GP... 查看详情

Chrome - 在向 *ngFor 视图添加元素时,始终向下滚动到最后一个元素

】Chrome-在向*ngFor视图添加元素时,始终向下滚动到最后一个元素【英文标题】:Chrome-Onaddingelementsto*ngForviewalwaysscrolldowntolastelement【发布时间】:2021-01-2714:03:56【问题描述】:我有一个包含视频列表的简单页面。在页面底部,我... 查看详情

如何为无限滚动的 RecyclerView 绘制背景

】如何为无限滚动的RecyclerView绘制背景【英文标题】:HowtodrawabackgroundforanendlessscrollingRecyclerView【发布时间】:2018-10-0212:18:40【问题描述】:我正在为一个Android应用程序开发一个无限滚动列表,使用RecyclerView视图组和OnScrollListene... 查看详情

如何为 Safari 制作 iOS 应用程序扩展以投射视频

】如何为Safari制作iOS应用程序扩展以投射视频【英文标题】:HowtomakeaiOSappextensionforSafariforCastingVideo【发布时间】:2016-09-1509:17:22【问题描述】:我已经浏览了最新的GooglecastSDK。我还完成了iOS的共享扩展和其他扩展应用创建。我... 查看详情

如何为 React Router SPA 实现滚动恢复

】如何为ReactRouterSPA实现滚动恢复【英文标题】:HowtoimplementscrollrestorationforReactRouterSPA【发布时间】:2020-03-0511:07:53【问题描述】:我正在构建一个React单页应用程序,我注意到滚动恢复在Chrome(可能还有其他浏览器)中似乎没... 查看详情

如何为泛型类编写 C# 扩展方法

】如何为泛型类编写C#扩展方法【英文标题】:HowdoyouwriteaC#ExtensionMethodforaGenericallyTypedClass【发布时间】:2010-09-0906:50:33【问题描述】:希望这应该是一个简单的。我想在System.Web.Mvc.ViewPage类中添加一个扩展方法。这个扩展方法应... 查看详情

如何为chrome浏览器设置socks5代理?

chrome浏览器设置socks5代理可参照以下步骤:1、将Chrome升级到最新版本。2、安装SwitchyOmega扩展程序。3、右键点击【选项】,打开SwitchyOmega扩展程序选项设置。4、点击上图中【新建情景模式】,在新建情景模式名称中输入socks5代... 查看详情

滚动时如何为 recyclerview 项目设置动画?

】滚动时如何为recyclerview项目设置动画?【英文标题】:Howcanyouanimaterecyclerviewitemswhenscrolling?【发布时间】:2016-11-0113:37:15【问题描述】:我正在使用RecyclerView和自定义RecyclerViewOnScrollListener。我想在向下滚动时更改RecyclerView项目... 查看详情

c#winfromdatagridview如何为一列添加向下滚动条请看清楚再回答!

我要的是如何将一个列显示数据多的话有垂直的滚动条!参考技术ADataGridViewComboBoxColumndcombo=newDataGridViewComboBoxColumn();dcombo.Items.Add("暂存");dcombo.Items.Add("留库");dcombo.Items.Add("归还");dcombo.Name="combo";//显... 查看详情

如何为混合应用程序使用媒体查询

】如何为混合应用程序使用媒体查询【英文标题】:HowtousemediaQueriesforHybridapplications【发布时间】:2016-01-2503:48:46【问题描述】:我想在页面中的每台设备上显示我的所有图片,而无需向下滚动以查看我的混合应用程序。我学到... 查看详情

如何为最后一个元素为 RecyclerView 添加边距?

】如何为最后一个元素为RecyclerView添加边距?【英文标题】:HowtoaddmarginstoaRecyclerViewforthelastelement?【发布时间】:2016-08-2823:05:16【问题描述】:我有几个使用RecyclerView的屏幕,并且在RecyclerView之上还有一个小的Fragment。当显示Frag... 查看详情

如何为spring数据编写自定义模块

】如何为spring数据编写自定义模块【英文标题】:Howtowriteacustommoduleforspringdata【发布时间】:2018-01-2811:19:18【问题描述】:我需要扩展spring数据以支持我自己的自定义后端。从springdatawebsite看来,似乎可以将社区模块添加到框架... 查看详情

如何为 JFrame 上的 JComponent 添加滚动功能?

】如何为JFrame上的JComponent添加滚动功能?【英文标题】:HowtoaddscrollingfeaturetoaJComponentonaJFrame?【发布时间】:2018-12-0621:37:25【问题描述】:我的GUI包含一个扩展JFrame的Diagram类。我创建了一个名为DrawingTool的不同类,它扩展了JCompo... 查看详情

重新加载 UITableView 数据并向下滚动到最后选择的单元格

】重新加载UITableView数据并向下滚动到最后选择的单元格【英文标题】:ReloadUITableViewdataandscrolldowntolastselectedcell【发布时间】:2015-08-1011:16:01【问题描述】:我有一长串数据要显示在UITableView中。表格的一个单元格包含许多内容... 查看详情

如何为图像创建另存为按钮

】如何为图像创建另存为按钮【英文标题】:HowtoCreateaSaveasbuttonforanimage【发布时间】:2015-03-0714:31:48【问题描述】:我正在为Chrome开发屏幕截图扩展程序,并且想知道如何在Html/Javascript中实现“另存为”按钮。目前用户只能右... 查看详情

boinc:有一个简单的示例,如何为该程序编写程序并将其实现到其客户端/服务器系统中?

我做了一个数值方法作为我的文凭论文,并用Java编写了代码。如果适当执行,则需要大量的计算时间。因此,我寻找了一个替代方案,并找到了BOINC。不幸的是,我没有时间在BOINC中完成我的方法,因为我是航空专业的学生,​... 查看详情

如何为Android编写驱动程序? [关闭]

】如何为Android编写驱动程序?[关闭]【英文标题】:HowtowritedriversforAndroid?[closed]【发布时间】:2011-06-2414:50:13【问题描述】:我一直在尝试了解android驱动程序开发。我知道驱动程序开发不是一件容易的工作,但我想学习。有没... 查看详情

如何为 MFC 中的多个按钮编写一个消息处理程序?

】如何为MFC中的多个按钮编写一个消息处理程序?【英文标题】:HowtowriteonemessagehandlerformultiplebuttonsinMFC?【发布时间】:2012-07-2117:54:20【问题描述】:我有一些按钮,我想为所有按钮编写一个消息处理程序。有什么方法可以找出... 查看详情