gpt4 book ai didi

javascript - 访问从 Chrome 扩展动态更新的 DOM

转载 作者:行者123 更新时间:2023-12-01 15:08:42 30 4
gpt4 key购买 nike

我正在使用 Chrome 扩展程序从一个站点抓取数据。网站上有一个“加载更多”div,点击后会加载接下来的 30 条记录。我使用下面的代码单击并加载数据:
内容.js

setTimeout(function(){
var activityTab = document.getElementsByClassName("loadMore")[0];
activityTab.click();
}, 5000);
它加载接下来的 30 条记录并生成一个新的“加载更多”div,但我无法单击这个新的动态加载的“加载更多”div。如何在 JavaScript 中访问原始站点中动态生成的 HTML?我只能在页面加载时访问原始站点的 DOM 中可用的数据。

最佳答案

天真地这是一种实现你想要的方法:

function doSomething(startIndex, items) {
for (let i = startIndex; i < items.length; i++) {
//Crawl the data
}
}

var selector = ".myfancystuff"; //This is just test data, change this selector to one which is more appropriate to your case
var items = document.querySelectorAll(selector);
var activityTab = document.getElementsByClassName("loadMore")[0];
activityTab.click();
setTimeout(function() {
var newItems = document.querySelectorAll(selector);
if (newItems.length > items.length) {
doSomething(items.length, items = newItems);
activityTab.click();
}
}, 1000);

当然,在大多数情况下,您可以更优雅地执行此操作,也就是说,在这种情况下,需要有关该站点的更多信息。

关于javascript - 访问从 Chrome 扩展动态更新的 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62243835/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com