Alex*
каптча на walmart com
Андрей
Какую?
https://anti-captcha.com/
Alex*
Андрей
Тока я без puppeteer-extra обошелся
Андрей
прост скачал архив с расширением и прописал путь до него в конфиге
Alex*
Андрей
Андрей
там еще может быть такое, что оно будет решать капчу до нажатия на кнопку, когда капча появляется, я просто сделал нажатие нужной кнопки, что-бы уже в открытую капчу вставлялось решение готовое
Андрей
но повторюсь, каждый сайт индивидуально делает капчу)
Андрей
потестишь ручками, поймешь как делать)
Alex*
Alex*
Alex*
Андрей
😊
Антон
Коллеги, пытаюсь парсить турецкий сайт, где-то через 135 страниц он детектит меня и блокирует где-то на час.
Использую StealthPlugin чтобы скрыть себя, AdblockerPlugin + puppeteer-extra-plugin-block-resources чтобы меньше грузить (это все puppeteer-extra). ЧТо еще можно сделать чтобы меня не блочило?
Andrey
блок то по IP явно идет, а не по браузеру
Антон
блок то по IP явно идет, а не по браузеру
я тоже так подумал, но возможно, что нет или по сумме факторов. потому что когда я пробовал с headless: false, то видел, что автоматизированный хром блочится, а мой вход с обычного хрома - нет
Andrey
куки, storage
Andrey
система может быть как угодно настроена
Andrey
но самое простое решение - прокси
Антон
Антон
где можно купить для турции именно ip адреса или где в принципе покупают прокси?
🦋noteee
Антон
Турецкие IP?
ага. для ip других стран он включает защиту с авторизацией
🦋noteee
Alex*
Alex*
proxy6.net
Очень удобно. API.
1
Подскажите, как выбрать из выпадающего списка?
Если использую
await page.select(selCentre,'FMOS');
то пишет, что этот элемент не является списком.
При выборе списка мышкой показывает запросы json (см. картинку). При нажатии на список код страницы динамически обновляется.
Alhimik
Alhimik
Сразу клик может не сработать иногда, потому что там могут быть какие-то дополнительные условия, например при наведении курсора может что-то проверяться.
1
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 работал через раз
DDNN
еще были траблы с ожиданием запросов
DDNN
либа очень удобная, но есть моментик, мб дело в руках конечно. Ну c# + selenium проблем ни разу не было
DDNN
node js + selenium не очень удобная и доки мало
DDNN
мб будет полезно
SH
да в любом случае спасибо за информацию
DDNN
да в любом случае спасибо за информацию
еще была такая защита на одном сайте, как-то чекалось что ты робот, страница ребутилась и ожидание селектора уходило в бесконечное ожидание, даже exception не кидал после 30 сек
SH
DDNN
понял
SH
Может кому то поможет в будущем, моя проблема выше была все таки из-за юзер-агента
денис
Здравствуйте, работаю в связке Puppeteer+Electron, хотел реализовать чтобы по нажатию горячей клавиши скрипт Puppeteer ставился на паузу
Проблема: скрипт не останавливается и даже не включается код внутри waitForFunction
currentPage потом присваиваю глобально значение текущей страницы, чтобы иметь к странице доступ из обработчика хоткея
Можете подсказать пожалуйста что делаю не так и как можно реализовать это правильно?
денис
Alhimik
Alhimik
Чтобы сделать паузу во время выполнения скрипта, нужно чтобы после каждого атомарного действия он проверял флаг. Если флаг установлен в true, значит скрипт должен остановиться. Например создаёшь новый промис и ждёшь его выполнения. Когда произойдёт повторное нажатие горячих клавиш, нужно зарезолвить промис и скрипт продолжит выполняться.
Alhimik
Пауза:
1. Получение команды на паузу
2. Выставление флага PAUSE = true
3. Создание промиса PAUSE_PROMISE
Продолжение:
1. Получение команды на продолжение
2. Выставление флага PAUSE = false
3. Выполнение промиса resolve()
В скрипте:
1. Выполнение действия
2. Проверка флага PAUSE, если true, то await PAUSE_PROMISE
денис
Eugene
Посветуйте прокси провайдера с мобильными/рехиденсткими прокси хорошей скоростью и адекватным ценником
🅰️nimeCoder
Eugene
$15/GB - ну так себе адекватно 🙂
1
При ошибке
Error: Protocol error (Page.navigate): Session closed. Most likely the page has been closed.
только убивать процесс?
🅰️nimeCoder
У последнего вообще пул вроде маленький, особенно не снг
Константин
Всем привет! У меня бот перестал работать, сделанный на Nest + Puppeteer. Кто поможет починить? За денежку конечно 🙂
Очень надо срочно, а то моего прогера ковид забрал 🙁
bastiang19
Всем привет. Puppeteer будет иметь доступ к содержимому фрейма, который с другого домена?)
Andrey
да
bastiang19
Блин, до последнего не хотел прибегать к этому. Делал расширение)
bastiang19
Спасибо, буду пробовать
bastiang19
🅰️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 селектору