Здравствуйте.
Я новичок в Javascript.
Появилась потребность в выполнении ряда действий на сайте, набросал для этого расширение браузера Chrome, но теперь потребовался обход капчи слайдер.
Нашел решение для такой обхода с применением Puppeteer. Но мне нужно чтобы действия выполнялись в браузере, то есть был запущена вкладка браузера и в ней выполнялось постоянно ряд действия и в том числе обход капчи. Насколько я понял Puppeteer можно применить только в Node.js то есть в выполнении без браузера. Подскажите, как мне быть. Буду рад любому совету, полезной ссылке.
Посмотри в сторону фреймверков для end-to-end тестирования (сокращенный термин для поиска e2e). Их суть в том чтобы запускать браузеры (часто без отрисовки картинки, без GUI части, называется headless) и выполнять скрипты как бы от имени пользователя (кликать, скролить, заполнять формы). Они же предоставляют апи для движения мышкой, ожидания появления элемента на странице перед тем как перейти к следующему шагу скрипта, подмены строки userAgent итд.
Вот эти проверенные рабочие e2e фремверки. Уверен их есть больше.
- Nightwatch https://nightwatchjs.org
- Cypress https://www.cypress.io
Обрати внимание на то какие именно API предоставляет фреймверк который будешь рассматривать. Тебе нужен тот у которого апи достаточно гранулярное чтобы дать возможность отдельно запрограммировать и зажатие кнопки вниз, и движение и задавать параметры движения и потом отпускание кнопки (это модель того что происходит при взаимодействии со сладейром).
Имхо так не получится. Смысл капчи не позволить автоматическим скриптам что-либо делать на странице. Нажать и передвинуть мы сможем, но получить конкретно расстояние на которое нужно передвинуть - для этого нужно взаимодействие с пользователем.
Согласен про смысл капчи. Есть большой шанс что задача не решаема и к этому стоит быть готовым.
Спасибо за ответы.
Закрались сомнения - может моя логика по реализации вообще изначально неверна? Суть в том, что мне нужно чтобы отслеживалось появление определенного товара. То есть страница обновляется, обновляется и в определенный момент когда товар появился - мне нужно чтобы он автоматически добавился в корзину. Дальше я сам уже своими руками завершу оплату. Но в определенный момент после обновления страницы с товаром выскакивает капча, вот для борьбы с ней я и хотел функционал Puppeteer.
Я не подскажу, может у кого другого будет идея. Для меня сама постановка вопроса стоит за пределами моей моральной границы.
В своих проектах я вполне занимался и автоматизацией кликов и скачиванием-распарсиванием сайтов. Но что-то подсказывать-копать на публику не буду. Это чтобы не создалось впечатления что я тут такой на белом коне размахиваю своей чистой моралью.