function visitLinksSequentially(links, newTab) {
let index = 0;
function visitNextLink() {
if (index < links.length) {
const link = links[index];
index++;
newTab.location.href = link;
Здесь мне нужно подождать ПОЛНУЮ загрузку страницы и только потом приступать к сборке
waitForDOMReady(() => {
setTimeout(() => {
ТУТ ПЕРЕМЕННАЯ ДЛЯ ИЗВЛЕЧЕНИЯ ДАННЫХ();
}, 200);
});
newTab.addEventListener('load', visitNextLink);
} else {
newTab.close();
}
}
visitNextLink();
}
function visitLinksSequentially(links) {
let index = 0;
function waitForPageLoad(newTab, callback) {
// ждем полную загрузку
newTab.addEventListener('load', function onLoad() {
newTab.removeEventListener('load', onLoad);
callback();
});
}
function extractData(newTab, callback) {
// логика для извлечения данных
const extractedData = newTab.document.querySelectorAll('SELECTOR_YOUR_DATA');
console.log('Извлечённые данные:', extractedData);
callback();
}
function visitNextLink() {
if (index < links.length) {
const link = links[index];
index++;
const newTab = window.open(); // открыли новую вкладку
newTab.location.href = link;
waitForPageLoad(newTab, () => {
setTimeout(() => {
extractData(newTab, () => {
newTab.close(); // закрыли
visitNextLink(); // пошли дальше
});
}, 1000);
});
} else {
console.log('Good job bro!');
}
}
visitNextLink();
}