Alhimik
а он максимум на 30с
С чего ты это решил? Я же выше написал решение.
🦋noteee
С чего ты это решил? Я же выше написал решение.
Он просто подождет пока перезагрузится страница, а мне уже после перезагрузки нужно ждать
Alhimik
await Promise.all([ element.click(), // элемент, при нажатии на который происходит перезагрузка page.waitForNavigation({timeout: 0}), ]); // элемент, который нужно найти на новой странице await page.waitForSelector("SELECTOR_2", {timeout: 0});
🦋noteee
Понял, спасибки
🦋noteee
@shad0w64 вот, не запускается из под VDS Ubuntu
Alhimik
@shad0w64 вот, не запускается из под VDS Ubuntu
Тебе там даже ссылку на гитхаб дали, чтобы ты почитал уже документацию. 😂
🦋noteee
Понял
🦋noteee
🦋noteee
🦋noteee
Решения проблемы там нету ;c
🦋noteee
А как мне можно установить вот это все, какой командой?
🦋noteee
Да в принципе я и по 1шт могу все установить, но вот команды не знаю
Светлана
1)Ставишь хромиум 2)запускаешь с указанием пути до исполняемого файла хромиума, чтобы точно ни на что не напороться - с параметром —no-sandbox 3)радуешься
Светлана
1.1)на моменте npm i (где ставится puppeteer) можно поставить переменную окружения которая говорит что хромиум ставить не надо
Светлана
Точнее прямо сейчас не скажу, потому что в метро и под шофе
Светлана
Но могу с утра потому что столкнулась с этим когда куклу упаковывала в контейнер from alpine
Alhimik
Решения проблемы там нету ;c
Есть. Прочитай внимательней ошибку, у тебя библиотека отсутствует. И скорей всего остальные ты не ставил, поставь их все.
🦋noteee
Я уже реши проблему, просто установил все зависимости и оно наладилось
🦋noteee
Спасибо, парни
Alhimik
Спасибо, парни
Не только парни тебе помогали. Ник выше прочитай. )
🦋noteee
А, ой. Я немного невнимателен, прошу прощения
Светлана
В докере было что-то в духе apk add chromium-browser Образ на альпине :D
Светлана
Но хорошо что справился
🦋noteee
В докере было что-то в духе apk add chromium-browser Образ на альпине :D
Докер это сложно, я ни разу с ним не работал
Светлана
Не нашла сложностей кроме неочевидности ошибок о не той архитектуре
🦋noteee
Не нашла сложностей кроме неочевидности ошибок о не той архитектуре
Нужно будет попробовать с ним поработать. Я даже не представляю что он из себя представляет и как с ним работать, я бегло прочитал документацию, (ещё давно) понял что он мне не нужен и не стал разбираться что это такое и зачем оно
Светлана
Короче если он пишет про wrong exec format или чот в этом духе - проверь архитектуру
Светлана
Я с эти подолбилась когда попыталась собранный на м1 образ запустить на сервере с amd
Светлана
Нифига не очевидная ошибка :D
Alhimik
Попробовал в puppeteer и playwright. Puppeteer действительно не видит все фрэймы на этом сайте почему-то. А playwright видит. 🤷🏻‍♂️ Глубже пока нет желания разбираться, но можешь попробовать его.
Нашёл почему события о присоединении фрэймов не показывались - это из-за изоляции каждого сайта в отдельном процессе. Отключается с помощью --disable-features=site-per-process и все фрэймы становятся видны.
Светлана
И как там с производительностью на M1?
Для работы фронтом и чтобы куклу локально гонять одиночную тестирующую - огнище
Светлана
Но идея в момент индексации достаточно жирного проекта смогла разогреть air
Светлана
И это первый и единственный раз когда он был тёплым
Светлана
Ну и то разогреть в формате «он был тёпленьким»
Светлана
И речь про ноут в котором вообще от кулеров отказались :D
Светлана
В целом мне збс потому что я фронт и для меня опция комфортно работать с ноутом на коленях с хорошей картинкой куда ценнее опций «обучать ии, обсчитывать 4к видео и что-то в этом духе»
Светлана
Так что я почти неделю писаю кипятком с этого ноута (=
Светлана
На удивление да, 80% масштаба в хроме и получаются эти ваши 1920
Светлана
+ моя сфера не лендинги а внутренний продукт
Светлана
А качество картинки реально заставило отказаться от 2 моников на рабочем месте и на мак пересесть
Светлана
С 13-ти дюймового ноута с фронтом работать нормально? Ещё и на коленях. )
Так что если там не прям «вау» мониторы то резко станет хорошо
Alhimik
В разрешении и качестве картинки я не смоневаюсь, я именно про реальные размеры. Мне кажется это довольно мелко. Но если удобно, то хорошо. 👍🏻
Светлана
Это какая-то магия, но на нем даже 13.3 дюймов глаза не ломает
Светлана
Я сама удивилась :D
🦋noteee
for(args) { //code (Отрывок на скрине) } Скрипт начинает очень сильно лагать. Довольно сильно. Я получаю обновления от Telegram (telegram.updates.on), отклик от бота 3-4 секунды. Ранее был менее чем 300мс
🦋noteee
Почему скрипт начинает весь лагать спустя некоторое время использования?
🦋noteee
Я так полагаю Event Emmiter забит каким то говном от puppetter, которое после закрытия браузера там остается, хотя должно пропадать ?
🦋noteee
Это весь код внутри цикла?
Вообще да. Этот код внутри функции, а функция внутри цикла
Alhimik
Т.е. браузер ты не закрываешь?
🦋noteee
async func ffff() { //code } for() { ffff() }
🦋noteee
Alhimik
Puppeteer работает корректно. Если ты правильно всё закрыл, листенеры удалил, то не должно ничего течь (я с таким не сталкивался). По много дней браузеры запускаю, память не растёт, скорость не замедляется.
🦋noteee
Puppeteer работает корректно. Если ты правильно всё закрыл, листенеры удалил, то не должно ничего течь (я с таким не сталкивался). По много дней браузеры запускаю, память не растёт, скорость не замедляется.
У меня вот падает скорость что то, прям конкретно так. Даже если закрыть терминал с запущенным скриптом - он закроется спустя 7-10 секунд, не моментально (Без моего кода на puppetter закпывался моментально)
Alhimik
У меня вот падает скорость что то, прям конкретно так. Даже если закрыть терминал с запущенным скриптом - он закроется спустя 7-10 секунд, не моментально (Без моего кода на puppetter закпывался моментально)
У тебя там закрытие браузера в конце функции. А до конца функции неоднократные try/catch + return. При ретёрне у тебя останется запущенным браузер. Вот и ответ.
🦋noteee
У тебя там закрытие браузера в конце функции. А до конца функции неоднократные try/catch + return. При ретёрне у тебя останется запущенным браузер. Вот и ответ.
Закрытие браузера не в конце. Сначала я закрываю браузер, а затем делаю return функции, что бы функция мне вернула то, что я ретурнул
🦋noteee
Это все решение проблемы насколько я верно понял? Просто у меня блоки функции try/catch срабатывает очень редко, а скрипт начинает лагать ещё задолго до их срабатывания
Alhimik
async function sleep(milliseconds) { const date = Date.now(); let currentDate = null; do { currentDate = Date.now(); } while (currentDate - date < milliseconds); }
Alhimik
Где ты такое взял? 🙈
🦋noteee
Это что бы скрипт на одной строке стоял n-е количество МС
🦋noteee
waitFor(n) в консоль спамит
Alhimik
Это что бы скрипт на одной строке стоял n-е количество МС
Ты просто грузишь ядро процессора на полную катушку пустой работой и потом спрашиваешь почему лагает.
Alhimik
waitFor(n) в консоль спамит
Я же тебе нписал что нужно сделать, перестать использовать устаревшую функцию. Используй waitForTimeout().
🦋noteee
waitForTimeout(200) будет 200мс стоять ожидать, а только затем код пойдет выполняться дальше?
Alhimik
Так waitFor(n) будет точно так же грузить на полную катушку, разве не?
Тебе нужно подтянуть знание JS. Давай здесь обсуждать именно Puppeteer и проблемы, связанные с ним. Думаю не всем хочется читать сотни сообщений о том как ты JS постигаешь. )