Сравнение
Профиль без человека за клавиатурой
Две дороги нацелить программу на браузер
Первая идёт снаружи. Библиотека подключается по протоколу отладки браузера и шлёт ему команды, и так устроены известные наборы автоматизации.
Вторая идёт изнутри. Программа держит упорядоченный список шагов и выполняет их в профиле, который открыла сама.
Восемь способов под программой
Строки читайте как способы, а не как названия продуктов. Последняя строка наша, и каждая клетка в ней взята из кода.
Где способу по столбцу сказать нечего, там так и написано. Прочерк лучше выдуманного ответа.
| Способ | Чем ведут | Много аккаунтов разом | Признак автоматизации | Без человека за клавиатурой |
|---|---|---|---|---|
| Обычный браузер как есть | Чужой библиотекой по протоколу отладки | Одна личность на все окна | Открытый канал объявляет автоматизацию | Ваш собственный планировщик |
| Режим инкогнито | Не про это | Одна личность на все окна | Принадлежит браузеру, а не режиму | Не про это |
| Отдельные профили самого браузера | Чужой библиотекой по каталогу данных | Разные банки кук, одно устройство | Открытый канал объявляет автоматизацию | Ваш собственный планировщик |
| Расширение с подменой значений | Не про это | Одна личность на все вкладки | Своего признака браузера не снимет | Не про это |
| VPN | Не про это | Один выход на всё | Не про это | Не про это |
| Виртуальная машина на аккаунт | Библиотекой внутри каждого гостя | Сколько гостей поднимет хозяин | Как оставит библиотека внутри гостя | Планировщик гостевой системы |
| Отдельное железо на аккаунт | Библиотекой на каждой машине или человеком | Один аккаунт на устройство | Как оставит библиотека на этой машине | На каждой машине отдельно |
| Браузер с правкой самого движка | Шагами в программе или своим кодом через порт на петле | Очередь по пределу открытых окон | Канал открыт, а признак выключен обратно | Расписание, пока программа открыта |
Один признак против всего отпечатка
Открытый канал отладки заставляет Chromium выставить признак того, что браузер ведут. Это первая строка любой проверки на робота, и один этот признак перевешивает всё, что отпечаток сделал верно.
Поэтому на ARMANOS Browser канал остаётся, а объявление нет. Признак выключается обратно ключом запуска, и стенд снимает значение с настоящей страницы.
Своя точка входа на профиль на ARMANOS Browser
Адрес живёт на петле и только пока профиль открыт. Встроенный движок открывает один общий порт на всю программу, и только при включённом местном ходе.
Шумный домен не включается
Домен протокола, ставящий видимые странице крючки, не включается вовсе, и сценарию он не нужен.
Готовность спрашивают, а не слушают
Страницу опрашивают о её состоянии вместо подписки на события жизненного цикла.
Чем ведут профиль у нас
Шаг вы добавляете формой: выбрать вид, заполнить поля, сохранить. Записи нет: синхронизатор следит за ведущим окном, чтобы повторять его вживую, а не чтобы сохранить сценарий.
Любое текстовое поле шага может нести имя в фигурных скобках, и такое имя подставляется на каждом профиле по ходу прогона. Так один сценарий входит в целую папку аккаунтов.
Страницы и ожидание
Открыть адрес, подождать время или элемент, прокрутить, нажать клавишу.
Заполнение и чтение
Ввести в поле, прочитать значение в переменную, снять экран.
Порядок и ветвление
Повторить тело, обойти список, взять одну ветку условия, работать во вкладках.
Куки и свой код
Прочитать или стереть куки, выполнить свой 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 нет: признак выключается обратно ключом запуска, а точка входа, к которой подключается библиотека, принадлежит одному этому профилю. У встроенного движка нет ни того, ни другого.
- Сколько профилей идёт разом?
- Ширину очереди выбираете вы, и прогон не поднимает больше работников, чем машина разрешает держать открытыми. Работник, упёршийся в предел, ждёт места.
- Что будет с пропущенным запуском?
- Он считается пропущенным и опускается. Три дня пропущенной работы разом это тот всплеск, который площадки читают как робота.
- Может ли страница вести мои профили через местный порт?
- Нет. Ход отвечает программам и разворачивает всё, что похоже на страницу, а адрес, на котором он слушает, проверяется тоже.
Читать дальше
Сценарии без кода
Шаги, переменные, циклы и очередь прогона.
Местный ход и ключи
Порт, куда стучатся ваши программы, и кому он отказывает.
Признак автоматизации
Одно значение, которое проверка на робота читает первым.
Машины в автоматизации
То же уроком, с названными ошибками.
Доступ команды рядом
Другая ось: как работу передают и как забирают обратно.
Попробуйте сценарий на бесплатном профиле
Бесплатный тариф идёт на том же движке, что и платные, поэтому сценарий ведёт себя там так же, как будет вести потом.