我正在尝试构建Instagram脚本以检索不关注您的人的列表。
我的想法如下:
->打开关注者选项卡->向下滚动直到所有关注者都显示在DOM中->将其添加到数组中->关闭选项卡->打开以下选项卡->向下滚动直到显示以下所有内容在DOM中->将它们添加到数组中->比较数组->显示谁不跟着你回来
这是我到目前为止所做的:
selectors = {
modal: "Y8-fY",
objList: "isgrP",
divList: "PZuss"
};
x = {};
x.following = [];
x.followers = [];
numberOfFollowers = Number(document.getElementsByClassName(selectors.modal)[1].querySelector('a').querySelector('span').title);
numberOfFollowing = Number(document.getElementsByClassName(selectors.modal)[2].querySelector('a').querySelector('span').innerHTML);
var openFollowersTab = function()
{
document.getElementsByClassName(selectors.modal)[1].querySelector('a').click();
}
openFollowersTab();
var showFollowers = function (x)
{
document.querySelector("." + selectors.objList).scrollTop = 200;
document.querySelector("." + selectors.objList).scrollTop = -200;
while(document.querySelector(".PZuss").childNodes.length != x)
{
document.querySelector("." + selectors.objList).scrollTop += 1000;
}
}
这段代码有两个小问题,我不知道该如何处理。 首先,如果我在脚本中调用showFollowers(),则由于while循环而导致页面中断。我似乎无法理解为什么。在我的脑海中,这应该一直在起作用。在该“ .PZuss”中,所有关注者都位于li位置。因此,在与numberOfFollowers相等之前,它应该向下滚动。
我知道每个问题应该只有一个问题,但是这是一个很小的问题,我发现它比第一个问题更奇怪-直到我介绍了while条件(并且代码有效,但不是我想要的)时,在它说找不到.PZuss的代码中调用了showFollowers())。 .PZuss在followersTab打开后出现在DOM中,所以我认为我必须做这样的事情,因此首先打开选项卡:
setTimeout(showFollowers(numberOfFollowers), 10000);
所以主要的问题是为什么WHILE不起作用,因为我发现这很奇怪。如果您可以让我了解如何等待“关注者”选项卡中的DOM加载,那也很好,如果没有,那很好,我会找到解决方法。
非常感谢您的宝贵时间! 祝你有美好的一天!