Кукольник - прокрутите вниз, пока вы не сможете больше - сценарий пройдетJavascript

Форум по Javascript
Ответить
Anonymous
 Кукольник - прокрутите вниз, пока вы не сможете больше - сценарий пройдет

Сообщение Anonymous »

Я хочу автоматизировать удаление своих чатов в чате, потому что у меня около 244 из них, и я не собираюсь делать это вручную. Что я хочу сделать, так это прокручивать вниз до дна, пока не появится чаты, а затем удалить их с последнего до первого. Удаленная часть работает, но у меня есть некоторые проблемы с прокруткой.

Код: Выделить всё

await page.evaluate(async () => {
const delay = 10000;
const wait = (ms) => new Promise(res => setTimeout(res, ms));
const sidebar = document.querySelector('#stage-slideover-sidebar');

const count = () => document.querySelectorAll('#history aside a').length;

const scrollDown = async () => {
const lastChild = document.querySelector('#history aside a:last-child');
if (lastChild) {
lastChild.scrollIntoView({ behavior: 'smooth', block: 'end', inline: 'end' });
}
}

let preCount = 0;
let postCount = 0;
let attempts = 0;
do {
preCount = count();
await scrollDown();
await wait(delay);
postCount = count();
console.log("preCount", preCount, "postCount", postCount, "attempts", attempts);
if (postCount === preCount) {
attempts++;
} else {
attempts = 0;
}
}  while (attempts < 10);

console.log("Reached bottom. Total items:", postCount);

// await wait(delay);
});
< /code>
}
Это работает лучше, чем когда я устанавливаю задержку на 1, 2 или 3 секунды, и попытки 3. Когда я использую это, он прекращается загружать при 84.
Однако проблема, с которой я столкнулся с задержкой на 10 секунд и 10 попыток заключается в том, что я сталкиваюсь с этой ошибкой после того, как все загрузила.    #error = new Errors_js_1.ProtocolError();
^

ProtocolError: Runtime.callFunctionOn timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.
at  (/Users/pc/WebstormProjects/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CallbackRegistry.js:102:14)
at new Callback (/Users/pc/WebstormProjects/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CallbackRegistry.js:106:16)
at CallbackRegistry.create (/Users/pc/WebstormProjects/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CallbackRegistry.js:24:26)
at Connection._rawSend (/Users/pc/WebstormProjects/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Connection.js:99:26)
at CdpCDPSession.send (/Users/pc/WebstormProjects/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/CdpSession.js:73:33)
at #evaluate
(/Users/pc/WebstormProjects/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/ExecutionContext.js:363:50)
at ExecutionContext.evaluate (/Users/pc/WebstormProjects/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/ExecutionContext.js:277:36)
at IsolatedWorld.evaluate (/Users/pc/WebstormProjects/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/IsolatedWorld.js:100:30)
at CdpFrame.evaluate (/Users/pc/WebstormProjects/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js:364:43)
at CdpFrame. (/Users/pc/WebstormProjects/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/util/decorators.js:109:27)

Node.js v22.19.0
Как лучше всего подходить к этому

Подробнее здесь: https://stackoverflow.com/questions/797 ... pt-failing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»