使用 javascript 从 chrome 控制台抓取网站
Scrape a website from chrome console with javascript
我正在尝试抓取包含 table 个 1000 个元素的网页。每当单击 table 中的元素时,网页都会更新标签。从 chrome 控制台,我想单击每个元素,等待标签更新并下载标签。目前我正在做以下事情:
for(i = 0; i < 1000; i++){
document.querySelectorAll('element_in table')[i].click()
text = document.querySelector('tag_to_read_from').innerHTML
// download text
}
问题是在单击 table 中的元素后更新标签有延迟。结果,由于 javascript 的异步性质,脚本正在下载 1000 个空文件。
有没有办法在点击元素后等待 X 秒,然后下载更新的标签?
function scrape (index, max) {
document.querySelectorAll('element_in table')[index].click();
setTimeout(() => {
// download text
if (index < max) scrape(++index, max);
}, 5000);
}
scrape(0, 1000);
您可以使用超时来延迟逻辑。挑个够大的时间就行了。
我正在尝试抓取包含 table 个 1000 个元素的网页。每当单击 table 中的元素时,网页都会更新标签。从 chrome 控制台,我想单击每个元素,等待标签更新并下载标签。目前我正在做以下事情:
for(i = 0; i < 1000; i++){
document.querySelectorAll('element_in table')[i].click()
text = document.querySelector('tag_to_read_from').innerHTML
// download text
}
问题是在单击 table 中的元素后更新标签有延迟。结果,由于 javascript 的异步性质,脚本正在下载 1000 个空文件。
有没有办法在点击元素后等待 X 秒,然后下载更新的标签?
function scrape (index, max) {
document.querySelectorAll('element_in table')[index].click();
setTimeout(() => {
// download text
if (index < max) scrape(++index, max);
}, 5000);
}
scrape(0, 1000);
您可以使用超时来延迟逻辑。挑个够大的时间就行了。