Параметр emulation в SetValue и RiseEvent управляет тем, насколько правдоподобно имитируется действие пользователя.
Четыре уровня
| Уровень | Что происходит | Когда использовать |
|---|---|---|
"None" | Значение устанавливается без каких-либо событий | Скорость, когда сайт не проверяет действия |
"Middle" | Минимальный набор событий — focus, change | Большинство обычных форм |
"Full" | Полная цепочка: mouseover, mousemove, focus, input, change | Сайты с защитой от ботов |
"SuperEmulation" | Максимальная имитация с реальными задержками | Продвинутые антибот-системы |
Примеры
// Быстро, без событий — подходит для простых сайтов
input.SetValue("текст", "None", false, false);
// Стандартный выбор для большинства задач
input.SetValue("текст", "Middle", false, false);
// Когда сайт не принимает значение при Middle
input.SetValue("текст", "Full", false, false);Использование значения из настроек инстанса
// instance.EmulationLevel хранит уровень заданный в настройках шаблона
input.SetValue("текст", instance.EmulationLevel, false, false);Это удобно — меняешь уровень в одном месте, и все SetValue подхватывают.
Практическое правило
Начинай с "Middle". Если сайт не реагирует — пробуй "Full". "SuperEmulation" нужен редко, замедляет скрипт.