Sektor
вывод - дело не в айпи
Виталий
На турецком сайте
Null
Не видел ещё ни разу чтобы кто-то показал что есть отличие реального клика от CDP.
Sektor
Sektor
вот не так давно это все снова проверял
Null
А у тебя просто клик или весь путь курсора повторяет реальный?
Sektor
Sektor
и без нее
Sektor
по всякому пробовал
Sektor
на моем компе даж без эмуляции движения все срабатывает
Sektor
чисто клик по нужному месту
Null
Потому что часто нужно именно цепочку focus/mouse on enter/click.
Null
Sektor
мучал чатгпт но так и не смог выяснить что же блядям этим не нравится
Null
могу видео записать)
Нужен минималистичный пример кода, который покажет это. Если есть такая возможность.
Sektor
Null
Видео мне ни о чём не скажет. Мне нужно повторить все шаги, чтобы я мог проверить в отладчике, есть ли какие-то отличия.
Sektor
ну чуть попозже сделаю, там надо чуть подзаморочиться чтоб вытащить необходимые методы из библиотеки
Null
Sektor
а куда отправить, лс можно?
Null
Sektor
Raso
DM for webscraping
OnlineProxy
а кто-нибудь знает как occlusion в хроме отключить? флаги пробовал но не помогают
Да, это старая беда — когда хром свёрнут, он «спит» и CDP-команды идут через плохо. Флаг --disable-backgrounding-occluded-windows раньше спасал, но сейчас часто не работает. Попробуй запускать хром с кучей флагов типа --disable-renderer-backgrounding --disable-occlusion, или просто держи окно развёрнутым где-то за пределами экрана. На Linux помогает запуск через Xvfb — тогда он всегда думает, что активен.
Aleksey
Привет всем.
У меня есть browserless, работающий в докерк, и веб сайт с установленной bot-detection системой qrator, которая как-то палит автоматизацию даже с в headfull-режиме,
Подключаюсь я так:
await puppeteer.connect({
browserWSEndpoint: 'ws://localhost:3000?token=xxx&headless=false' +
"&stealth=true" +
"&headless=false" +
"&--disable-blink-features=AutomationControlled"+
"&--no-sandbox" +
"&--disable-setuid-sandbox" +
"&--ignore-certificate-errors" +
"&--use-gl=desktop" +
"&--headless" +
"&--start-maximized" +
"&--window-size=1920,1080" +
"&--incognito"
,
defaultViewport: null,
ignoreHTTPSErrors: true
});
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.105 Safari/537.36');
...
Сайт ведет себя так: еще до того, как я успеваю что-то сдклать (подвигать мышью или плскроллить о до этого не доходит) открывается с 401 ошибкой, после чего грузит скрипт qrator.js и выполняет POST-запрос в огромным пейлодом, в ответ отдает либо 200 ок (когда я проверяю в реальном браузере) и устанавливает куку, либо 403 (когда запускаю в виртуальном)
Посоветуйте, на что еще стоит обратить внимание при попытке обойти такую защиту?
Sektor
так попробуй не на пупетире сделать
Aleksey
Sektor
Плейврайт, цдп, вебдрайвера всякие
Aleksey
Это чатик про пюпитир, тут эксперты по пюпитиру, про остальные технологии я могу спросить в других чатах. Плейрайт я тоже пробовал, челендж пройти не удается.
Мб я в параметрах пюпитира упускаю какую-то деталь?
Raso
Привет всем.
У меня есть browserless, работающий в докерк, и веб сайт с установленной bot-detection системой qrator, которая как-то палит автоматизацию даже с в headfull-режиме,
Подключаюсь я так:
await puppeteer.connect({
browserWSEndpoint: 'ws://localhost:3000?token=xxx&headless=false' +
"&stealth=true" +
"&headless=false" +
"&--disable-blink-features=AutomationControlled"+
"&--no-sandbox" +
"&--disable-setuid-sandbox" +
"&--ignore-certificate-errors" +
"&--use-gl=desktop" +
"&--headless" +
"&--start-maximized" +
"&--window-size=1920,1080" +
"&--incognito"
,
defaultViewport: null,
ignoreHTTPSErrors: true
});
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.105 Safari/537.36');
...
Сайт ведет себя так: еще до того, как я успеваю что-то сдклать (подвигать мышью или плскроллить о до этого не доходит) открывается с 401 ошибкой, после чего грузит скрипт qrator.js и выполняет POST-запрос в огромным пейлодом, в ответ отдает либо 200 ок (когда я проверяю в реальном браузере) и устанавливает куку, либо 403 (когда запускаю в виртуальном)
Посоветуйте, на что еще стоит обратить внимание при попытке обойти такую защиту?
Do you have issue with code?
OnlineProxy
Привет всем.
У меня есть browserless, работающий в докерк, и веб сайт с установленной bot-detection системой qrator, которая как-то палит автоматизацию даже с в headfull-режиме,
Подключаюсь я так:
await puppeteer.connect({
browserWSEndpoint: 'ws://localhost:3000?token=xxx&headless=false' +
"&stealth=true" +
"&headless=false" +
"&--disable-blink-features=AutomationControlled"+
"&--no-sandbox" +
"&--disable-setuid-sandbox" +
"&--ignore-certificate-errors" +
"&--use-gl=desktop" +
"&--headless" +
"&--start-maximized" +
"&--window-size=1920,1080" +
"&--incognito"
,
defaultViewport: null,
ignoreHTTPSErrors: true
});
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.105 Safari/537.36');
...
Сайт ведет себя так: еще до того, как я успеваю что-то сдклать (подвигать мышью или плскроллить о до этого не доходит) открывается с 401 ошибкой, после чего грузит скрипт qrator.js и выполняет POST-запрос в огромным пейлодом, в ответ отдает либо 200 ок (когда я проверяю в реальном браузере) и устанавливает куку, либо 403 (когда запускаю в виртуальном)
Посоветуйте, на что еще стоит обратить внимание при попытке обойти такую защиту?
Привет!
Отключите headless, но настройте браузер так, чтобы он вел себя как реальный.
Попробуйте Stealth Plugin:
Установите puppeteer-extra и puppeteer-extra-plugin-stealth для скрытия автоматизации:
npm install puppeteer-extra puppeteer-extra-plugin-stealth
Подключите плагин:
const puppeteer = require('puppeteer-extra');
const stealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(stealthPlugin());
ZDev | Разработчик
Доброго времени суток. Подскажите пж, почему после exposeFunction она может быть null на странице? Точнее она есть но только с префиксом puppeter, хотя другие exposed-functions - есть с тем ключом, под которым зарегистрированы без префикса
Регистрирую так:
await Promise.all([
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func1, (arg1, arg2) => {}),
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func2, (arg1, arg2) => {}),
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func3, (arg1, arg2) => {}),
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func4, (arg1, arg2) => {}),
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func5, (arg1, arg2) => {}),
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func6, (arg1, arg2) => {}),
]);
OnlineProxy
Доброго времени суток. Подскажите пж, почему после exposeFunction она может быть null на странице? Точнее она есть но только с префиксом puppeter, хотя другие exposed-functions - есть с тем ключом, под которым зарегистрированы без префикса
Регистрирую так:
await Promise.all([
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func1, (arg1, arg2) => {}),
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func2, (arg1, arg2) => {}),
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func3, (arg1, arg2) => {}),
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func4, (arg1, arg2) => {}),
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func5, (arg1, arg2) => {}),
this.page.exposeFunction(EXPOSED_FUNCTIONS_KEYS.func6, (arg1, arg2) => {}),
]);
Добрый день.
А конфликта имён нет?
Если в глобальной области уже есть функция с таким именем, Puppeteer автоматически переименовывает её, добавляя префикс (puppeteer_). Не создаётся ли такая функция на странице до вызова exposeFunction?
ZDev | Разработчик
Тарас
Привет всем.
У меня есть browserless, работающий в докерк, и веб сайт с установленной bot-detection системой qrator, которая как-то палит автоматизацию даже с в headfull-режиме,
Подключаюсь я так:
await puppeteer.connect({
browserWSEndpoint: 'ws://localhost:3000?token=xxx&headless=false' +
"&stealth=true" +
"&headless=false" +
"&--disable-blink-features=AutomationControlled"+
"&--no-sandbox" +
"&--disable-setuid-sandbox" +
"&--ignore-certificate-errors" +
"&--use-gl=desktop" +
"&--headless" +
"&--start-maximized" +
"&--window-size=1920,1080" +
"&--incognito"
,
defaultViewport: null,
ignoreHTTPSErrors: true
});
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.105 Safari/537.36');
...
Сайт ведет себя так: еще до того, как я успеваю что-то сдклать (подвигать мышью или плскроллить о до этого не доходит) открывается с 401 ошибкой, после чего грузит скрипт qrator.js и выполняет POST-запрос в огромным пейлодом, в ответ отдает либо 200 ок (когда я проверяю в реальном браузере) и устанавливает куку, либо 403 (когда запускаю в виртуальном)
Посоветуйте, на что еще стоит обратить внимание при попытке обойти такую защиту?
Можно сайт? Можешь в ЛС
pancake ✨🥞
всем привет! я использую puppeteer с плагином stealth для автоматизации захода на гмит, но сейчас гугл стал банить бота, подскажите может кто с таким сталкивался, поможет ли переезд на playwright или другой браузер в таком случае?
Andrew
Andrew
pancake ✨🥞
ISergey
Sektor
ISergey
Это все комплексно. И нифига не просто .
Можно детектить то что - активен runtime (гуглится cdp runtime detect )
- можно к примеру по таймингу console.log обнаружить девтулс/cdp (одно и тоже ) (раньше такой антибот как kasada это делал)
Далее зависит в принципе как и какие апи используются (какой-то левый query или прямой js клик себя покажет )
Хреновые прокси как красный флаг могут быть.
Комп на котором это все работает дает один и тот же фингерпринт .
А так нужно изучать как они могут это детектить . (Тот сайт с которым идет работа )
Или искать готовые решение но обычно ценик 10к+
Aleksey
Тарас
pancake ✨🥞
pancake ✨🥞
Привет всем.
У меня есть browserless, работающий в докерк, и веб сайт с установленной bot-detection системой qrator, которая как-то палит автоматизацию даже с в headfull-режиме,
Подключаюсь я так:
await puppeteer.connect({
browserWSEndpoint: 'ws://localhost:3000?token=xxx&headless=false' +
"&stealth=true" +
"&headless=false" +
"&--disable-blink-features=AutomationControlled"+
"&--no-sandbox" +
"&--disable-setuid-sandbox" +
"&--ignore-certificate-errors" +
"&--use-gl=desktop" +
"&--headless" +
"&--start-maximized" +
"&--window-size=1920,1080" +
"&--incognito"
,
defaultViewport: null,
ignoreHTTPSErrors: true
});
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.105 Safari/537.36');
...
Сайт ведет себя так: еще до того, как я успеваю что-то сдклать (подвигать мышью или плскроллить о до этого не доходит) открывается с 401 ошибкой, после чего грузит скрипт qrator.js и выполняет POST-запрос в огромным пейлодом, в ответ отдает либо 200 ок (когда я проверяю в реальном браузере) и устанавливает куку, либо 403 (когда запускаю в виртуальном)
Посоветуйте, на что еще стоит обратить внимание при попытке обойти такую защиту?
вот тут, уже получается справились?
ISergey
Это попробуйте
https://github.com/rebrowser/rebrowser-patches
Не тестил .
ISergey
Может хватит .
Aleksey
Sektor
Sektor
ISergey
Тайминги точно и брейкпоинты видел в антиботах.
‘’’ let start = performance.now();
setTimeout(() => {
let duration = performance.now() - start;
if (duration > 100) { // должно быть ~0-5мс
console.warn('DevTools может быть открыт (таймер задержан)');
}
}, 0);’’’
ISergey
let devtoolsOpen = false;
const element = new Image();
Object.defineProperty(element, 'id', {
get: function () {
devtoolsOpen = true;
throw new Error('DevTools detected');
}
});
console.log('%c', element);
setTimeout(() => {
if (devtoolsOpen) {
console.warn('DevToos');
}
}, 100);
pancake ✨🥞
Sektor
ISergey
Мини сайт сделай который будет что-то писать на странице .
Sektor
А, понял, спс
Null
Там внутри такой же linux, отличий никаких быть не должно.
Aleksey
hatsker
скам на расходниках?
pancake ✨🥞
добрый день! проверяли на разных сайтах проверках ботов?
Stas
Ищу человека который может помочь (не бесплатно) с разгадванием скрытой капчи на сайте от google
Нужно:
— Написать код или найти библиотеку которая будет работать с puppeteer (nodejs) использовать сервис rucaptcha.com или тому подобный, цель проходить тест на сайте https://antcpt.com/rus/information/demo-form/recaptcha-3-test-score.html и получать скор в районе 0.9
— Объяснить как работает скрытая капча и в каких случаях и как часто нужно разгадывать на целевой странице
Anna
Как раз недавно писала статью про этот вид скама 🙂
Андрей
это клёво, разве нет?
Привет, headless: 'new' в новых версиях больше не поддерживается?
Null
I I
Здраствуйте, прошел недавно обучение по теме ИИ, у меня остались полезные материалы (видео, конспекты, инструменты). Могу скинуть просто так может кому-то зайдёт. Если интересно дайте знать, отправлю
Raso
Hi dm for webscraping projects. I’m expert
1
На домашнем компьютере при запуске Puppeteer монитор не уходит в спящий режим. Добавил такие аргументы
'--disable-animations',
'--disable-background-timer-throttling',
'--disable-renderer-backgrounding',
не помогает, может ещё что-то добавить нужно, чтобы в спящий режим переходил монитор?