Javascript querySelectorAll获取的项目少于页面上的项目

Javascript querySelectorAll获取的项目少于页面上的项目,javascript,twitter,Javascript,Twitter,我从零开始学习JavaScript,并将我今天学到的东西付诸实践。我正在做一个小脚本,自动喜欢一个页面的所有推文,无论是从主提要、搜索、标签还是从浏览器控制台(在Google Chrome上)运行代码的任何地方 问题?当执行代码时,它可以工作,但是它只拾取7个类似按钮,而实际上,在我执行代码的页面上有50多条tweet(50个类似按钮) 我试过无数次,但我什么都搞不清楚 这是我目前掌握的代码: var likes = document.querySelectorAll('div[data-tes

我从零开始学习JavaScript,并将我今天学到的东西付诸实践。我正在做一个小脚本,自动喜欢一个页面的所有推文,无论是从主提要、搜索、标签还是从浏览器控制台(在Google Chrome上)运行代码的任何地方

问题?当执行代码时,它可以工作,但是它只拾取7个类似按钮,而实际上,在我执行代码的页面上有50多条tweet(50个类似按钮)

我试过无数次,但我什么都搞不清楚

这是我目前掌握的代码:

var likes = document.querySelectorAll('div[data-testid=like]');
var index = 0;
var timer = setInterval(function(){
    console.log(`Te han gustado ${index} de un total de ${likes.length} tweets encontrados!`);
    likes[index].click();
    index++;

    if(index == likes.length){
        clearInterval(timer);
    }
}, 10000);
我想不出另外一种方法来获得类似的按钮。新Twitter设计的HTML结构非常疯狂

编辑:我想这是类似按钮的HTML代码

<div class="css-1dbjc4n r-1iusvr4 r-18u37iz r-16y2uox r-1h0z5md">
    <div aria-label="52 Me gusta. Me gusta" role="button" data-focusable="true" tabindex="0" class="css-18t94o4 css-1dbjc4n r-1777fci r-11cpok1 r-1ny4l3l r-bztko3 r-lrvibr" data-testid="like">
        <div dir="ltr" class="css-901oao r-1awozwy r-1re7ezh r-6koalj r-1qd0xha r-a023e6 r-16dba41 r-1h0z5md r-ad9z0x r-bcqeeo r-o7ynqc r-clp7b1 r-3s2u2q r-qvutc0">
            <div class="css-1dbjc4n r-xoduu5">
                <div class="css-1dbjc4n r-sdzlij r-1p0dtai r-xoduu5 r-1d2f490 r-xf4iuw r-u8s1d r-zchlnj r-ipm5af r-o7ynqc r-6416eg"/>
                <svg viewBox="0 0 24 24" class="r-4qtqp9 r-yyyyoo r-1xvli5t r-dnmrzs r-bnwqim r-1plcrui r-lrvibr r-1hdv0qi">
                    <g>
                        <path d="M12 21.638h-.014C9.403 21.59 1.95 14.856 1.95 8.478c0-3.064 2.525-5.754 5.403-5.754 2.29 0 3.83 1.58 4.646 2.73.814-1.148 2.354-2.73 4.645-2.73 2.88 0 5.404 2.69 5.404 5.755 0 6.376-7.454 13.11-10.037 13.157H12zM7.354 4.225c-2.08 0-3.903 1.988-3.903 4.255 0 5.74 7.034 11.596 8.55 11.658 1.518-.062 8.55-5.917 8.55-11.658 0-2.267-1.823-4.255-3.903-4.255-2.528 0-3.94 2.936-3.952 2.965-.23.562-1.156.562-1.387 0-.014-.03-1.425-2.965-3.954-2.965z"/>
                    </g>
                </svg>
            </div>
            <div class="css-1dbjc4n r-xoduu5 r-1udh08x">
                <span class="css-901oao css-16my406 r-1qd0xha r-ad9z0x r-1n0xq6e r-bcqeeo r-d3hbe1 r-1wgg2b2 r-axxi2z r-qvutc0">
                    <span class="css-901oao css-16my406 r-1qd0xha r-ad9z0x r-bcqeeo r-qvutc0">52</span>
                </span>
            </div>
        </div>
    </div>
</div>

52
因此,我不能使用
getElementsByCassName
,因为类与其他按钮共享,而这些按钮并不相同,因此我的选择器是唯一部分工作的选择器

有什么建议吗?谢谢

所有的“相似按钮”都是div元素吗?否则,您将选择限制为同样是
div
s的like按钮

如果它们不是所有的
div
元素,并且所有的“like按钮”都具有
data testid=“like”
属性,那么下面应该选择它们

var likes=document.querySelectorAll(“[data testid=like]”);

我尝试过,但似乎选择了与我的代码相同数量的“like”按钮。我已经编辑了我的问题,添加了“like”按钮HTML代码。