Перейти к содержимому

Сравнение

Профиль без человека за клавиатурой

Профиль ведёт не только человек, но и программа. Дальше всё решают две вещи: чем вы целитесь в браузер и что браузер сам сообщает о том, что его ведут.

Две дороги нацелить программу на браузер

Первая идёт снаружи: вы подключаете к браузеру библиотеку по протоколу отладки и шлёте команды, как в известных наборах автоматизации.

Вторая идёт изнутри: вы складываете сценарий из шагов, и программа проходит их в профиле, который открыла сама.

Восемь способов под программой

Строки читайте как способы, а не как названия продуктов. Последняя строка наша, и любую клетку в ней вы можете проверить сами.

Где способу по столбцу сказать нечего, там так и написано. Прочерк лучше выдуманного ответа.

СпособЧем ведутМного аккаунтов разомПризнак автоматизацииБез человека за клавиатурой
Обычный браузер как естьЧужой библиотекой по протоколу отладкиОдна личность на все окнаОткрытый канал объявляет автоматизациюВаш собственный планировщик
Режим инкогнитоНе про этоОдна личность на все окнаПринадлежит браузеру, а не режимуНе про это
Отдельные профили самого браузераЧужой библиотекой по каталогу данныхРазные банки куки, одно устройствоОткрытый канал объявляет автоматизациюВаш собственный планировщик
Расширение с подменой значенийНе про этоОдна личность на все вкладкиСвоего признака браузера не сниметНе про это
VPNНе про этоОдин выход на всёНе про этоНе про это
Виртуальная машина на аккаунтБиблиотекой внутри каждого гостяСколько гостей поднимет хозяинКак оставит библиотека внутри гостяПланировщик гостевой системы
Отдельное железо на аккаунтБиблиотекой на каждой машине или человекомОдин аккаунт на устройствоКак оставит библиотека на этой машинеНа каждой машине отдельно
Браузер с правкой самого движкаШагами в программе или своим кодом через порт на петлеОчередь по пределу открытых оконКанал открыт, а признак выключен обратноРасписание, пока программа открыта

Ваша библиотека не выдаёт профиль

Открытый канал отладки заставляет Chromium объявить, что браузером управляют. Это первая строка любой проверки на робота, и одно это объявление перевешивает всё, что отпечаток сделал верно.

Поэтому на ARMANOS Browser канал остаётся, а объявление нет: библиотека подключается как обычно, а страница читает navigator.webdriver ложным.

  • Своя точка входа на профиль на ARMANOS Browser

    К профилю вы подключаетесь по отдельному адресу, и работает он только на этой машине и только пока профиль открыт. На встроенном движке порт один на всю программу и открыт лишь при включённом локальном API («Для программистов > Включить локальный API»).

  • Шумный домен не включается

    Страница не увидит крючков от той части протокола, которая их ставит: сценарию она не нужна, и мы её не включаем.

Чем ведут профиль у нас

Шаг вы добавляете формой: выбрать вид, заполнить поля, сохранить. Записи мышью нет: пройти путь руками и получить из него готовые шаги не выйдет.

  • Страницы и ожидание

    Открыть адрес, подождать время или элемент, прокрутить, нажать клавишу.

  • Заполнение и чтение

    Ввести в поле, прочитать значение в переменную, снять экран.

  • Порядок и ветвление

    Повторить тело, обойти список, взять одну ветку условия, работать во вкладках.

  • Куки и свой код

    Прочитать или стереть куки, выполнить свой JavaScript с пределом времени, дождаться запроса шагом «Ждать запрос».

Что всё ещё выдаёт машину

Сценарий повторяет написанное с заданными вами паузами, а один ритм на всех аккаунтах и сам по себе примета. Поэтому у прогрева пауза и длина прокрутки каждый раз свои, из промежутка, а не одно число на всех.

На вопрос, заданный человеку, он не ответит. Разгадывания капчи здесь нет, и модели, решающей, куда нажать, тоже.

  • Селектор это догадка о странице

    Сайт поменял вёрстку, и шаг, целившийся в этот элемент, у вас сломается.

  • Упавший шаг не кончает прогон

    Остальные профили идут дальше, а остановится ли этот профиль на шаге или возьмётся за следующий, говорит правило сценария. Ошибку вы увидите в журнале шагов на экране «Сценарии», а весь прогон будет отмечен неудачным.

  • Свежий профиль сам по себе примета

    Куки-робот сперва обходит обычные общедоступные сайты, и к первому входу банка куки у вас не пуста.

Когда за клавиатурой никого

Расписание вы задаёте сценарию: какие профили, во сколько и сколько идёт разом. Время местное, поэтому после перевода часов девять утра остаются девятью.

Три дня пропущенного прогрева разом это тот самый всплеск, который площадки читают как робота.

Чего это сравнение не утверждает

  • Записи сценария нет: пройти путь мышкой и получить из него готовые шаги не выйдет.
  • Ни разгадывания капчи, ни распознавания картинок, ни модели в середине. На вопросе для человека сценарий встаёт.
  • Расписания идут, только пока открыта программа. Служб в системе мы не ставим, и закрытый ноутбук свои запуски пропускает.
  • Выключенная шумная часть протокола убирает одну примету, и только одну. Обещания, что вас не узнают, здесь нет.
  • Строки про остальные способы описывают способ вообще. Про названные чужие продукты мы не пишем ничего, потому что честно измерить чужое нам нечем.

Как это проверить

У каждого утверждения ниже назван файл, а у признака автоматизации ещё и стенд, который поднимает настоящий движок.

Признак автоматизации снимается с настоящей страницы, на настоящем движке, с настоящими ключами запуска
apps/desktop/src/lib/forkEngine.js · apps/desktop/test/webdriver-flag.js
Домен протокола, заметный странице, для прогона не включается
apps/desktop/src/lib/cdp.js · apps/desktop/src/lib/forkPage.js
Незащищённый общий порт отладки открывается только для встроенного движка
apps/desktop/src/main/main.js · apps/desktop/test/cdp-port-only-when-needed.js
Пропущенное расписание опускается, а не догоняется
apps/desktop/src/lib/schedules.js · apps/desktop/test/schedule-runs.js
Паузы Куки-робота берутся из промежутка
apps/desktop/src/lib/cookieRobot.js · apps/desktop/test/cookie-robot.js

Вопросы

Можно ли записать сценарий, пройдя его мышкой?
Нет. Шаги вы собираете формой, а ваши нажатия никуда не записываются.
Заметит ли сайт, что профилем управляет моя библиотека?
На ARMANOS Browser нет: navigator.webdriver у вас остаётся ложным, а подключаетесь вы к одному профилю, а не ко всей программе.
Может ли страница вести мои профили через местный порт?
Нет. Запрос, пришедший со страницы в браузере, получает отказ, и подменённое имя машины его не спасёт.

Попробуйте сценарий на бесплатном профиле

Бесплатный тариф идёт на том же движке, что и платные, поэтому сценарий ведёт себя там так же, как будет вести потом.