Oleksandr
Привет, кто может задеплоить на VDS скрипт на Puppetter, кто может пишите в лс
Сергей
Всем привет
Сергей
У меня скрипт, который работает с уже включенным бразуером. После работы браузер тоже не закрывается. Поэтому мне не нужно это скукоживание браузера, а нужно чтобы он остался в стандартном разрешении после работы скрипта.
Сергей
От скукоживания избавился через await page.setViewport({ width: 1920, height: 1080 }); Но теперь новая проблема — страница не скроллится вниз
Сергей
Подскажете что можно сделать?
0x787064
кому-нибудь удалось справиться с service worker на puppeteer? я хочу обойти creepjs
Anonymous
кому-нибудь удалось справиться с service worker на puppeteer? я хочу обойти creepjs
Только подключаясь не к коробочному хрому, а к антидект, например к дельфину
Сергей
Ребят, как можно сделать интерфейс, который будет запускать скрипт puppeteer по нажатию на кнопку? Я уже пробовал на Electron создать — кнопка не работает, напрямую html файл с кнопкой создал — ноль реакции. Как это работает?
Сергей
Сделай небольшую админку. ) Vue + REST API Express. - куча примеров.
Он не может напрямую кнопку запускать? Нужно через запрос сервера ?
Alex*
Он не может напрямую кнопку запускать? Нужно через запрос сервера ?
Если у вас десктоп Linux. Например Mint - там можно в панели сделать кнопку запуска любой консольной программы. Для Win тоже можно что-то подобное поискать.
Alex*
Сергей
нифига се
Сергей
Спасибо. Попробую
Сергей
Если Linux, там можно и сообщения кидать в окошки из консоли.
Нее, я дилетант. Я только виндевс пользуюсь
Captain Maslori
(хотя я мб вопрос не понял)
Сергей
Батник создай?
Всё решилось. Спасиб
0x787064
Только подключаясь не к коробочному хрому, а к антидект, например к дельфину
Спасибо. Мне удалось обойти webworkers самостоятельно после некоторых исследований.
0x787064
нет, используя странную технику
0x787064
каким-то образом я использовал CDP и теперь могу изменять все JS внутри веб-работников.
0x787064
Ну, я фолосит, дельфин, идея
0x787064
теперь у меня приличный балл по creepjs
0x787064
я еще не тестировал
Верет
как работает метод browser.pages() а то у меня функция зацикливается и ничего не выдает + не завершает работу page_list = await browser.pages() вот код
Верет
Возвращает массив с открытыми вкладками
это я понимаю, но у меня код зацикливается и не выдает ничего когда я await использую, с чем связано может быть?
Captain Maslori
как работает метод browser.pages() а то у меня функция зацикливается и ничего не выдает + не завершает работу page_list = await browser.pages() вот код
Зайди в исходники в скачанном нпм пакете и подебажь; хотя бы выводом в консоль. Всякое бывает, всякое...
Верет
Можно еще обернуть в try catch.
совсем забыл ,спасибо
WADIM
Подскажите пожалуйста, почему при выполнении скрипта в консоли результат есть, а при выполнении через пупитер page.evaluate() Ошибка? Все элементы ищет нормально, а это именно капча, не могу понять почему именно с капчей такая проблема.. PS во всех фреймах тоже выполнял это
精神に強い
Приветсвую помогите с докером, постояннго вылетает ошибка Failed to launch the browser process! spawn /usr/bin/google-chrome ENOENT
精神に強い
классический образ FROM node:16.18.1 RUN apt-get update && apt-get install -y \ unzip \ fontconfig \ locales \ gconf-service \ libasound2 \ libatk1.0-0 \ libc6 \ libcairo2 \ libcups2 \ libdbus-1-3 \ libexpat1 \ libfontconfig1 \ libgcc1 \ libgconf-2-4 \ libgdk-pixbuf2.0-0 \ libglib2.0-0 \ libgtk-3-0 \ libnspr4 \ libpango-1.0-0 \ libpangocairo-1.0-0 \ libstdc++6 \ libx11-6 \ libx11-xcb1 \ libxcb1 \ libxcomposite1 \ libxcursor1 \ libxdamage1 \ libxext6 \ libxfixes3 \ libxi6 \ libxrandr2 \ libxrender1 \ libxss1 \ libxtst6 \ ca-certificates \ fonts-liberation \ libappindicator1 \ libnss3 \ lsb-release \ xdg-utils \ wget WORKDIR /app COPY package.json /app RUN yarn COPY . /app CMD yarn start
精神に強い
const setupPuppeterLaunch = { headless: 'new', executablePath: '/usr/bin/google-chrome', args: ["--disable-setuid-sandbox", "--disable-dev-shm-usage", '--disable-extensions', "--disable-gpu", "--no-sandbox",], devtools: false, } вот сетап лаунча, без третьей строки ошибка та жа ( Failed to launch the browser process! )
Captain Maslori
const setupPuppeterLaunch = { headless: 'new', executablePath: '/usr/bin/google-chrome', args: ["--disable-setuid-sandbox", "--disable-dev-shm-usage", '--disable-extensions', "--disable-gpu", "--no-sandbox",], devtools: false, } вот сетап лаунча, без третьей строки ошибка та жа ( Failed to launch the browser process! )
ну enoent это значит он по указанному пути не видит файл нужно проверять норм ли все с "/usr/bin/google-chrome" больше не знаю ничего об этом если без этой строки тоже enoent значит путь по умолчанию тоже плохой либо хрома для процесса ваще не существует (что кстати м/б)
Anonymous
Приветсвую помогите с докером, постояннго вылетает ошибка Failed to launch the browser process! spawn /usr/bin/google-chrome ENOENT
я с помощью dokku (т.е. в итоге в докере) запускаю на сервере используя следующие buildpacks: https://github.com/heroku/heroku-buildpack-google-chrome.git https://github.com/heroku/heroku-buildpack-nodejs.git пусть: /app/.apt/opt/google/chrome/chrome
精神に強い
ну enoent это значит он по указанному пути не видит файл нужно проверять норм ли все с "/usr/bin/google-chrome" больше не знаю ничего об этом если без этой строки тоже enoent значит путь по умолчанию тоже плохой либо хрома для процесса ваще не существует (что кстати м/б)
Да, я заворачиваю в докер на маке, и прописывал путь для браузера, но его там нет. Без этого атрибута, тоже не работает. Сейчас в голову пришло, что браузера то тоже нет в чистом контейнере, я думал что при установке все паркетов с докер файла выше он устанавливает его
精神に強い
Получается что нужно что бы все было установлено в контейнере докера, что бы не зависимо от системы, имея только установлен докер с демоном, можно было поднять проект
Anonymous
А установить браузер я так понял можно по этой ссылке?
нет, вообще переходите на нормальный деплой через dokku или подобное, он много рутины на себя возьмёт. если всё равно руками, то оттуда возьмите образы за основу своего
精神に強い
Понял, спасибо Почитаю)
Верет
вопрос, как можно кликнуть по элементу внутри animated container уже пробовал и классы и xpath и селекторы
Верет
<div id="animated-container" class="YLEHIf-haAclf fFW7wc-LYNcwc"><div id="credentials-picker-container" class="Sx9Kwc-haAclf McfNlf" role="dialog" tabindex="-1" aria-label="Über Google anmelden"><div class="r4nke" id="picker-header"><div class="r4nke-LS81yb" id="picker-title-section"><div class="jcJzye-Bz112c" aria-hidden="true"><svg class="Bz112c Bz112c-E3DyYd" xmlns="https://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#4285F4" d="M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z"></path><path fill="#34A853" d="M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z"></path><path fill="#FBBC05" d="M11.69 28.18C11.25 26.86 11 25.45 11 24s.25-2.86.69-4.18v-5.7H4.34C2.85 17.09 2 20.45 2 24c0 3.55.85 6.91 2.34 9.88l7.35-5.7z"></path><path fill="#EA4335" d="M24 10.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 4.18 29.93 2 24 2 15.4 2 7.96 6.93 4.34 14.12l7.35 5.7c1.73-5.2 6.58-9.07 12.31-9.07z"></path><path fill="none" d="M2 2h44v44H2z"></path></svg></div><h1 class="tJHJj ZYIfFd-aGxpHf-FnSee" id="picker-title"><span role="text">Über Google in <span class="bltWBb">The New York Times</span> anmelden</span></h1><div class="tJHJj L6cTce ti6hGc-aGxpHf-FnSee" id="signing-in">Überprüfung wird durchgeführt...</div></div><div id="close" class="TvD9Pc-Bz112c ZYIfFd-aGxpHf-FnSee" role="button" aria-label="Schließen" tabindex="0"><div class="Bz112c-ZmdkE"></div><svg class="Bz112c Bz112c-r9oPif" xmlns="https://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#5f6368"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path><path fill="none" d="M0 0h24v24H0z"></path></svg></div></div><div id="progress-bar" class="P1ekSe-ZMv3u mdl-progress mdl-js-progress mdl-progress__indeterminate"></div><div class="k77Iif"><div class="fFW7wc-ibnC6b-sM5MNb TAKBxb OWB6Me" aria-labelledby="picker-item-label-0" role="text"><div class="fFW7wc-ibnC6b"><div class="aZ2wEe mdl-spinner mdl-js-spinner mdl-spinner--single-color" aria-hidden="true"></div><div class="MPu53c" aria-hidden="true"><svg class="Bz112c Bz112c-E3DyYd" fill="#FFFFFF" viewBox="0 0 24 24" xmlns="https://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"></path></svg></div><img class="fFW7wc-ibnC6b-HiaYvf" src="https://lh3.googleusercontent.com/a/ACg8ocKeo6moMzWbaEdO9WYD2YxlYtNk0SDzhJgCUfIYUDrg=s96-c" alt="Profilbild von Skye Martinez" aria-hidden="true"><div class="fFW7wc-ibnC6b-r4m2rf" aria-hidden="true"><div class="fFW7wc-ibnC6b-ssJRIf">Skye Martinez</div><div class="fFW7wc-ibnC6b-K4efff">skyemartinezugkodpmg8@gmail.com</div></div></div><div id="picker-item-label-0" class="L6cTce">Google-Konto, Profilbild von Skye Martinez, skyemartinezugkodpmg8@gmail.com, Skye Martinez</div></div><div class="wk4LHf-haAclf"><div class="wk4LHf" id="gdpr-message" tabindex="-1">Zum Erstellen Ihres Kontos gibt Google Ihren Namen, Ihre E-Mail-Adresse und Ihr Profilbild an The New York Times weiter. Weitere Informationen finden Sie in der <a href="https://help.nytimes.com/hc/en-us/articles/115014892108-Privacy-policy" target="_blank" class="hSRGPd" id="privacy-policy-link" title="Datenschutzerklärung von The New York Times">Datenschutzerklärung</a> und den <a href="https://help.nytimes.com/hc/en-us/articles/115014893428-Terms-of-service" target="_blank" class="hSRGPd" id="terms-of-service-link" title="Nutzungsbedingungen von The New York Times">Nutzungsbedingungen</a> für The New York Times.</div><div class="k77Iif-v3pZbf-LgbsSe"><button class="LgbsSe LgbsSe-ssJRIf LgbsSe-KoToPc mdl-button mdl-js-button" id="continue-as"><div class="LgbsSe-MJoBVe"></div><div class="LgbsSe-bN97Pc">Als Skye fortfahren</div></button></div></div></div></div></div>
Верет
вот сам контейнер
Владимир
Привет. Бывает, что рекапчу в браузере требуется проходить именно кликами, для этого есть решение - Атлантик 2.0 - https://arkhipsoft.ru/Atlantic если потребуется помощь в апи - пишите в лс
Владимир
разгадывает рекапчу и кликовую капчу яндекса
Владимир
не сочтите за спам
Aleksey
Подскажите пожалуйста, почему при выполнении скрипта в консоли результат есть, а при выполнении через пупитер page.evaluate() Ошибка? Все элементы ищет нормально, а это именно капча, не могу понять почему именно с капчей такая проблема.. PS во всех фреймах тоже выполнял это
Потому что рекапча запускается в iframe и недоступна при поиске по документу Чтобы найти элемент внутри iframe, вам нужно собрать рекурсивно все iframe-ы со страницы и с других iframe-ов и в каждом отдельно поискать
WADIM
Потому что рекапча запускается в iframe и недоступна при поиске по документу Чтобы найти элемент внутри iframe, вам нужно собрать рекурсивно все iframe-ы со страницы и с других iframe-ов и в каждом отдельно поискать
Да, спасибо, нашел ошибку, при переборе фреймов была ошибка, если в первом не находил элемент, то цикл завершался, исправил и заработало, спасибо вам большое, что откликнулись!
WADIM
Здраствуйте, как открывать вкладки в порядке их создания в puppeteer? при browser.PagesAsync() и при переборе их через циклд открываются типа: 1, 5, 3, 2, 6 и тд, подскажите, может можно какой-то уникальный id вкладки получить или, что-то такое?
WADIM
Привет. А у всех вкладок одинаковый url?
Не, не вариант так, они постоянно будут меняться
WADIM
А если просто вкладки в массив загонять в порядке открытия?
Вроде пробовал, но чет фигня получилась, то же самое, еще раз гляну, спасибо
精神に強い
Приветствую, работал кто-то с Инстаграм используя puppeteer? Интересуют ограничения какие есть и как отрабатывать диалоги с пользователями. Чат бота собираюсь писать
Игорь
Привет. Может кто подскажет, как ждать загрузки iframe? У iframe нет имени.
Sasha
У iframe нет имени есть только путь " мАндалорец"
Aleksey
Привет. Может кто подскажет, как ждать загрузки iframe? У iframe нет имени.
Самому проверять все iframe-ы на страницы на наличие нужного вам элемента с периодичностью до определенного таймаута, а потом кидать error, либо подглядеть, какие http-вызовы отвечают за загрузку данных в iframe и заюзать waitForRequest
Recruiter Advertech
Шукаємо в команду node.js developer з досвідом роботи в автоматизації Puppeteer/Playwright для продуктивного і спільного росту 🔥 Контакти: @Recruiter_Advertech
Bohdan
Господа а не подскажите в ubuntu когда chromium сделать maximaze тогда пропадають кнопки свернуть, закрыть ?
Nicholas
buttons=message.buttons?
Shieldy
(3 + 6) Nicholas Ngota, please, send the solution to the arithmetic operation provided within the time amount specified to this group, otherwise you will be kicked. Thank you! (60 sec) Powered by 1inch Network
M
ребят, кто подскажет, я открываю страницу с номером 1 page.goto.... и это делаю в цикле и мне надо на каждый итерируемый объект открывать новый номер страницы но открылась страница с номером 1 а остальные даже не пытаются открыться
M
в чём проблема
Alex*
Что попробовать 1. Обернуть в try catch 2. Попробовать открывать на новых страницах.
Верет
puppeteer на плюсах😳
🅰️nimeCoder
Верет
а какой это язык
🅰️nimeCoder
JS