👨‍💻
о, прогресс есть. Поставил таймат, перестало вылетать
👨‍💻
походу значит нода забогавалась, потому что либу еще вчера переустанавливал много раз
Null
Никто не сталкивался с ошибкой TimeoutError: Timed out after 30000 ms while waiting for the WS endpoint URL to appear in stdout! при запуске браузера в докере? В один прекрасный момент перестал подключаться по WS с этой ошибкой. При этом на других машинах тот же код нормально работает.
Попробуй в опциях запуска браузера установить timeout: 0. Похоже что он не успевает подключиться. Возможно ему нужно чуть больше времени. Если это поможет то нужно будет искать причину долгого запуска браузера.
👨‍💻
Попробуй в опциях запуска браузера установить timeout: 0. Похоже что он не успевает подключиться. Возможно ему нужно чуть больше времени. Если это поможет то нужно будет искать причину долгого запуска браузера.
если ставить 0, то он вылетает сразу же с ошибкой, что достигнуто 0 секунд. По крайней мере так у меня. не буду говорить за других. Я уже фиг пойму, что с этой либой происходит
Null
если ставить 0, то он вылетает сразу же с ошибкой, что достигнуто 0 секунд. По крайней мере так у меня. не буду говорить за других. Я уже фиг пойму, что с этой либой происходит
Это я другому пользователю отвечаю. Установка 0 означает отключить таймер. Так принято. А если в кластере не так, то это их косяк :)
Null
походу значит нода забогавалась, потому что либу еще вчера переустанавливал много раз
А может у тебя страница не успевала прогрузиться и выдавало ошибку? Но на тот момент у тебя не было хэндлера для обработки ошибки и ты просто не знал что он падает. И после этого ты мог просто забыть снова раскомментировать таймаут, потому что думал что он не помогает?
Null
Вообще конечно странно что он по дефолту замалчивает ошибки, мог хотя бы после выполнения всех задач сообщать что было столько-то ошибок.
Null
меня спасает сейчас таймаут и славу богу. Мне непонятно только одно. ПОчему при выполнении задания, окно само собой закрвыается, что касается запуска страницы сейчас скину
Значит такой алгоритм у библиотеки. И это нормально. Потому что иногда лучше упасть по таймауту чем повиснуть и удерживать ресурсы.
👨‍💻
👨‍💻
👨‍💻
Null
Т.е. у тебя был tr/catch. Ну тогда ок. Просто такой дизайн у либы - закрыть вкладку по таймауту. Наверное в документации про это что-то должно быть. Т.е. проблемы никакой и не было. Просто ты не мог увидеть что он завершал страницу, пока не повесил хэндлер.
👨‍💻
Проблема в другом
👨‍💻
Либо не должна закрывать вкладку, пока выполняется задача. Пока идёт спрос на различные действия, но в моем случая либо тупо закрывает вкладку, когда там ещё 400-500 строчек кода должно выполняться
Null
Либо не должна закрывать вкладку, пока выполняется задача. Пока идёт спрос на различные действия, но в моем случая либо тупо закрывает вкладку, когда там ещё 400-500 строчек кода должно выполняться
В общем согласен, можно сделать так что пока возврат из функции не произошёл, то закрывать страницу нельзя. А у него вероятно просто setTimeout и принудительно закрытие вкладки.
👨‍💻
То есть это кластер запускает какой-то механизм. То ли проверки чего-то, то ли ещё чего. Механизм ждёт 30 сек и улетает в небытие вместе со страницей, выкидывая ошибку на конкретную страницу
👨‍💻
То есть этот механизм при конкуренси_page, выкидывает именно из конкреткой страницы
👨‍💻
Мне ща проще закоментить эту ошибку в Либе и жить спокойно
Null
Мне ща проще закоментить эту ошибку в Либе и жить спокойно
Зачем? Есть же таймаут. Он прекрасно работает.
👨‍💻
Зачем? Есть же таймаут. Он прекрасно работает.
Но это костыль какой-то. До этого ведь работало без timeout. То есть скрипт выполнялся, браузер был на своем месте и только когда он в idle переходил, уже затем закрывался. Но это как раз нормальная работа была
Null
Но это костыль какой-то. До этого ведь работало без timeout. То есть скрипт выполнялся, браузер был на своем месте и только когда он в idle переходил, уже затем закрывался. Но это как раз нормальная работа была
> До этого ведь работало без timeout Может успевал выполниться за 30 секунд? Код либы не менялся, так что в нём не может быть проблемы (там довольно простой код в этом месте таймер и таска и Race). Думаю проблема была в коде, какие-то не очевидные ошибки наслаивались. Пока другого объяснения не вижу.
👨‍💻
> До этого ведь работало без timeout Может успевал выполниться за 30 секунд? Код либы не менялся, так что в нём не может быть проблемы (там довольно простой код в этом месте таймер и таска и Race). Думаю проблема была в коде, какие-то не очевидные ошибки наслаивались. Пока другого объяснения не вижу.
я всегда тоже проблему вижу всегда в своем коде, но когда ты нажимаешь только на 1 кнопку - выполнит ьскрипт и больше ничего, потому что он полностью доделан, то других вариантов у меня попросту нет)
Null
я всегда тоже проблему вижу всегда в своем коде, но когда ты нажимаешь только на 1 кнопку - выполнит ьскрипт и больше ничего, потому что он полностью доделан, то других вариантов у меня попросту нет)
async function idle(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function timeoutExecute(millis, promise) { let timerId = null; const result = await Promise.race([ (async () => { await new Promise((resolve) => { timerId = setTimeout(resolve, millis); }); throw new Error(`Timeout hit: ${millis}`); })(), (async () => { try { return await promise; } catch (error) { // Cancel timeout in error case clearTimeout(timerId); throw error; } })(), ]); clearTimeout(timerId); // is there a better way? return result; } async function task() { console.log("Run task..."); await idle(60 * 60 * 10000); console.log("Task done."); } async function main() { console.log("Start..."); let result = null; const timeout = 30 * 1000; try { result = await timeoutExecute( timeout, task(), ); } catch (err) { console.error("[MAIN CATCH]", err); } console.log("Close page!"); console.log({ result }); } main();
Null
Вот как у него это работает. Ты в данном примере можешь влиять только на функцию task. Насколько я вижу ты не можешь никак удержать поток выполнения от закрытия вкладки. Т.е. я не вижу как без таймаута могло работать.
Null
Только изменив timeout можно защититься от закрытия.
👨‍💻
)
👨‍💻
снова не помогает этот таймout. У меня вновь страница закрывается
👨‍💻
можем созвониться ? я покажу быстрее вживую
Null
Т.е. сам код не обязателен. Важны хэндлеры на ошибки и убедиться что ошибок нет.
👨‍💻
их нет, в этом и прикол
Null
можем созвониться ? я покажу быстрее вживую
Можешь видео записать и в личку кинуть, если есть приватные данные какие-то или не хочешь весь код показывать.
👨‍💻
ща запишу
👨‍💻
а кому писать ?) вроде как от канала пишешь, или от группы
👨‍💻
корчое это фиаско. У меня еще более лютый треш начал происходить
Anton
Попробуй в опциях запуска браузера установить timeout: 0. Похоже что он не успевает подключиться. Возможно ему нужно чуть больше времени. Если это поможет то нужно будет искать причину долгого запуска браузера.
Пробовал, он бесконечно долго висит в таком случае. Есть ишью по этой проблеме - https://github.com/puppeteer/puppeteer/issues/10556 Проблема "плавающая", не у всех воспроизводится, в этом дополнительная сложность.
Eugene
Привет. Ребят, кто-то парсил pinterest, similarweb, ahrefs? Готов купить решения
D
Гайз, помогите плз реализовать нажатие на поиск в гугле в мобильном браузере. Я так понимаю что нет зависимости нажатия кнопки Enter на дескотопе с мобильным браузером, потому что у меня это не работает. А словить лупу, которая появляется снизу под полем поиска напротив ключа не получается ...
Aleksandr
почему может возникать во время ожидания действия
Aleksandr
TimeoutError: Timed out after waiting 30000ms
Aleksandr
где этот параметр указан
Верет
страница не прогрузилась скорее всего(могу ошибаться)
Aleksandr
Получается жду код который приходит дольше 30 секунд
Ekaterina
Привет! У меня тоже возникает ошибка TimeoutError: Timed out after waiting 30000ms Причем первый раз скрипт отработал, при последующих запусках выдает эту ошибку, никаких изменений не вносила Может у кого-то получалось побороть проблему?
CTapbIu_Dedd
приветствую, может кто подсказать как обойти защиту от парсера в dns-shop.ru, все время возвращает страницу 403?
Anonymous
приветствую, может кто подсказать как обойти защиту от парсера в dns-shop.ru, все время возвращает страницу 403?
надо, чтобы вами управляемый бразуер через puppeteer был максимально человечным, много факторов, от настроек запуска браузера, до прокси. Сравните показатели вами управляемого браузера и лично вами используемого в повседневной жизни бразуера по следующим сайтам: https://pixelscan.net/ http://witch.valdikss.org.ru/ https://whoer.net/ru#extended https://iphey.com/ https://abrahamjuliot.github.io/creepjs/ https://ipleak.com/full-report/ https://user-agent-client-hints.glitch.me https://bot.incolumitas.com точите указываемы у вас "проблемы", улучшайте индекс человечности. Ещё помогает - оформите себе recaptcha3 которая невидимая, поставьте на любую вами контролируемую страницу и сравните токен человечности под puppeteer и личного браузера.
Anonymous
Привет все выходные бился не смог, нету кого-нибудь примера похожего, я бы глянул .
берёшь одну задачу (например, webrtc) и ищешь решение интернете и на github, находишь, делаешь, проверяешь и к следующей. Например, время у тебя соответствует временному поясу прокси? готового полноценно настроенного браузера с высоким уровнем человечности - я не видел. Если проект не надо запихивать на сервер, в докер, а можно запускать на десктопе, то можно попробовать поставить антидетект браузер, например, dolphin-anty который уже весь антидетект, он умеет есессно быть управляемым, т.е. puppeteer к нему и это наверняка упростит решение
Bogdan
всем привет, есть какие-нибудь новые сервисы по капчам?
Babak
Hello guys. I have a problem in doing mouse actions like: page.mouse.move() page.mouse.hover() And other Mouse actions like this. None of them working.
Bogdan
CapSolver ?
хорошие статы там? по hcaptcha?
Верет
Всем привет, написал код, в котором есть функция с puppeteer использованием, мне надо запустить ее многопоточно, для начала хотя бы в 2 потока, но при запуске, один браузер может сильно отставать от другого, вследствие чего может вылазить https error, not found selector и тд, кто знает как фиксить помогите пж
Aleksey
через threading не выйдет?
хз, я локально браузер только для отладки использую очень редко, так что даже не пробовал, как по мне - лучше, чтобы он отдельным сервисом крутился с возможностью соединения по вебсокетам - так всем будет проще с ним работать
Верет
окей спасибо
Arun
Hi
Eugene
Ребята, какие есть тулы, чтобы дав линку на сайт со статьей могла забрать ее контент
Eugene
Без предварительной разметки статьи
Arun
Я использую Puppeteer в узле js и развернут в облачной функции Firebase, но получаю сообщение об ошибке. это код, который я использую const browser = await puppeteer.launch({ args: ["--no-sandbox", "--disable-setuid-sandbox"], });
[PM] Owl 🦉
Всем привет! Ищем в команду с возможным удаленным сотрудничеством Node.js developer с опытом работы в автоматизациях Puppeteer/Playwright для продуктивного и совместного роста🔥 Если у вас есть похожий опыт либо вы знаете человека, который может нам подойти - пишите, пожалуста, в лс, я расскажу детали🙌
WADIM
Всем привет, ребят, подскажите пожалуйста, может есть какой-то аргумент для запуска браузера или как-то можно отобразить курсор, ставлю расширение внутри браузера для отображения курсора, но не удобно постоянно делать, а хотелось бы визуально наблюдать за двидением, спасибо
Dima
Всем привет! Не могу создать массив для итерации из результатов поиска в переменной searchResults. Использую Array.from(), только это не работает и resultsArray получается пустым. Как быть? Как я могу сконвертировать?
Dima
Dima
Максим
Всем привет! Кто-нибудь сталкивался с проблемой, когда не выполняется переход по ссылке через goto, в адресной строке просто висит about:blank? Проблема плавающая, появляется не всегда
Верет
не находит селектор скорее всего
Null
Страница не успела загрузиться за 30 секунд. Нужно увеличить таймаут или отключить его.