Alex*
каптча на walmart com
Андрей
Какую?
https://anti-captcha.com/
Андрей
А кинь ссылку. Устроит расширение под puppeteer ом запускать
https://anti-captcha.com/ru/apidoc/articles/how-to-integrate-the-plugin
Андрей
Тока я без puppeteer-extra обошелся
Андрей
прост скачал архив с расширением и прописал путь до него в конфиге
Alex*
https://anti-captcha.com/ru/apidoc/articles/how-to-integrate-the-plugin
Спасибо! Смотрел ведь антикаптчу, но не добрался до этого места.
Андрей
там еще может быть такое, что оно будет решать капчу до нажатия на кнопку, когда капча появляется, я просто сделал нажатие нужной кнопки, что-бы уже в открытую капчу вставлялось решение готовое
Андрей
но повторюсь, каждый сайт индивидуально делает капчу)
Андрей
потестишь ручками, поймешь как делать)
Андрей
Я все это делаю. Но не понимаю как сделать отправку.
не поверишь, я неделю ебался наверн с капчей))) спасло тока расширение)
Андрей
😊
Антон
Коллеги, пытаюсь парсить турецкий сайт, где-то через 135 страниц он детектит меня и блокирует где-то на час. Использую StealthPlugin чтобы скрыть себя, AdblockerPlugin + puppeteer-extra-plugin-block-resources чтобы меньше грузить (это все puppeteer-extra). ЧТо еще можно сделать чтобы меня не блочило?
Andrey
блок то по IP явно идет, а не по браузеру
Антон
блок то по IP явно идет, а не по браузеру
я тоже так подумал, но возможно, что нет или по сумме факторов. потому что когда я пробовал с headless: false, то видел, что автоматизированный хром блочится, а мой вход с обычного хрома - нет
Andrey
куки, storage
Andrey
система может быть как угодно настроена
Andrey
но самое простое решение - прокси
Антон
Антон
где можно купить для турции именно ip адреса или где в принципе покупают прокси?
Антон
Турецкие IP?
ага. для ip других стран он включает защиту с авторизацией
Антон
250₽ IPv4 30 дней
Напиши мне в личку куда обращаться
Alex*
proxy6.net Очень удобно. API.
1
Подскажите, как выбрать из выпадающего списка? Если использую await page.select(selCentre,'FMOS'); то пишет, что этот элемент не является списком. При выборе списка мышкой показывает запросы json (см. картинку). При нажатии на список код страницы динамически обновляется.
Alhimik
Подскажите, как выбрать из выпадающего списка? Если использую await page.select(selCentre,'FMOS'); то пишет, что этот элемент не является списком. При выборе списка мышкой показывает запросы json (см. картинку). При нажатии на список код страницы динамически обновляется.
Селект только для нативных списков, если список кастомный то и решение должно быть самописным, так как реализован список может быть как угодно. Через простые клики должно работать. В крайнем случае через эмуляцию движения и кликов курсором.
Alhimik
Сразу клик может не сработать иногда, потому что там могут быть какие-то дополнительные условия, например при наведении курсора может что-то проверяться.
1
Селект только для нативных списков, если список кастомный то и решение должно быть самописным, так как реализован список может быть как угодно. Через простые клики должно работать. В крайнем случае через эмуляцию движения и кликов курсором.
Понятно, думал малой кровью обойтись, пришлось реализовать через эмуляцию клавиатуры await page.click(selCentre); await page.keyboard.press('ArrowDown', {delay: 100}); await page.keyboard.press('Enter'); Спасибо за ответ.
Biruk Endrias*
Can we make a Facebook posting bot is there any one did that before I will pay with crypto
SH
Все привет, кто может подсказать, в чем может быть проблема? не грузится определенный сайт с параметром networkidle0 т.е await page.goto(LOGIN_PAGE, {}) - проблем нет а так await page.goto(LOGIN_PAGE, {waitUntil: networkidle0 || networkidle2}) промис зависает Но мне нужно дождаться полной загрузки страницы вариант с waitForNavigation тоже не работает
Андрей
waitForSelector обычно ждет вроде как полную загрузку не?
Андрей
А, хотя у меня waitUntil прописан же
Андрей
Я даже не думал для чего он ахах
SH
waitForSelector тоже не работает,
DDNN
waitForSelector тоже не работает,
у меня тоже такое было, не стал разбираться, написал на c# + selenium все заработало
SH
у меня тоже такое было, не стал разбираться, написал на c# + selenium все заработало
не мой вариант( у меня эта проблема и раньше возникала, но она магическим образом исчезла, причем с локалки на винде все работает а с линукса в "безголовом режиме" просто ничего не помогает
DDNN
у меня waitForSelector работал через раз
DDNN
еще были траблы с ожиданием запросов
DDNN
либа очень удобная, но есть моментик, мб дело в руках конечно. Ну c# + selenium проблем ни разу не было
DDNN
node js + selenium не очень удобная и доки мало
DDNN
мб будет полезно
SH
да в любом случае спасибо за информацию
DDNN
да в любом случае спасибо за информацию
еще была такая защита на одном сайте, как-то чекалось что ты робот, страница ребутилась и ожидание селектора уходило в бесконечное ожидание, даже exception не кидал после 30 сек
SH
еще была такая защита на одном сайте, как-то чекалось что ты робот, страница ребутилась и ожидание селектора уходило в бесконечное ожидание, даже exception не кидал после 30 сек
Да, возможно так и есть, но я вроде использую всевомозможные steal плагины, ну и user agent прикол в том, что раньше с таким же конфигом все работало
DDNN
понял
SH
Может кому то поможет в будущем, моя проблема выше была все таки из-за юзер-агента
денис
Здравствуйте, работаю в связке Puppeteer+Electron, хотел реализовать чтобы по нажатию горячей клавиши скрипт Puppeteer ставился на паузу Проблема: скрипт не останавливается и даже не включается код внутри waitForFunction currentPage потом присваиваю глобально значение текущей страницы, чтобы иметь к странице доступ из обработчика хоткея Можете подсказать пожалуйста что делаю не так и как можно реализовать это правильно?
денис
Alhimik
Чтобы сделать паузу во время выполнения скрипта, нужно чтобы после каждого атомарного действия он проверял флаг. Если флаг установлен в true, значит скрипт должен остановиться. Например создаёшь новый промис и ждёшь его выполнения. Когда произойдёт повторное нажатие горячих клавиш, нужно зарезолвить промис и скрипт продолжит выполняться.
Alhimik
Пауза: 1. Получение команды на паузу 2. Выставление флага PAUSE = true 3. Создание промиса PAUSE_PROMISE Продолжение: 1. Получение команды на продолжение 2. Выставление флага PAUSE = false 3. Выполнение промиса resolve() В скрипте: 1. Выполнение действия 2. Проверка флага PAUSE, если true, то await PAUSE_PROMISE
Eugene
Посветуйте прокси провайдера с мобильными/рехиденсткими прокси хорошей скоростью и адекватным ценником
Eugene
$15/GB - ну так себе адекватно 🙂
1
При ошибке Error: Protocol error (Page.navigate): Session closed. Most likely the page has been closed. только убивать процесс?
🅰️nimeCoder
$15/GB - ну так себе адекватно 🙂
ну там пулы вроде большие, если хочешь дешево onlinesim / astroproxy
🅰️nimeCoder
У последнего вообще пул вроде маленький, особенно не снг
Константин
Всем привет! У меня бот перестал работать, сделанный на Nest + Puppeteer. Кто поможет починить? За денежку конечно 🙂 Очень надо срочно, а то моего прогера ковид забрал 🙁
bastiang19
Всем привет. Puppeteer будет иметь доступ к содержимому фрейма, который с другого домена?)
Andrey
да
bastiang19
Блин, до последнего не хотел прибегать к этому. Делал расширение)
bastiang19
Спасибо, буду пробовать
Alhimik
Блин, до последнего не хотел прибегать к этому. Делал расширение)
А в чём именно проблема? Расширение тоже может получить доступ к любому фрэйму.
🅰️nimeCoder
Как?)
Нужно только чтоб у него были на это права
Alhimik
Как?)
Даёшь разрешение и матчинг по адресу iframe. Внедряешь и манипулируешь.
Alhimik
Как?)
Вот так нужно для внедрения во все фрэймы, потом, когда выяснишь URL нужного фрэйма, можешь урезать права до конкретного URL. "content_scripts": [ { "matches": [ "<all_urls>" ], "js": [ "js/inject.js" ], "run_at": "document_start", "all_frames": true } ], "permissions": [ "<all_urls>" ]
Anonymous
hello anyone does work for payments here ?
Timur
Есть идеи, почему может не заполняться форма? Селектор на странице найден, но ничего дальше не происходит. Если инспектор не запускать, то выкидывает ошибку что якобы селектор не найден
Sasha
может искать элемент самой формы?
Sasha
а не поля с текстом =)
DDNN
или чтобы наверняка по XPATH
DDNN
у меня часто пптр не находил по css селектору