Как автоматизировать действия в браузере?
Для автоматизации использовал следующие методы:
- чистый JavaScript
- Tempermonkey
- IMarcos
- Selenium
Основная проблема в том, что элементы не реагируют на имитируемые события click keydown, из jQuery .val() и т.д. Сам сайт написан на angular (Этот вывод я сделал т.к. могу обратиться в devtools к ng.probe) и использует валидацию формы. То есть каждый input элемент имеет класс form-control ng-untouched ng-pristine ng-invalid ng-star-inserted, а так же ValidityState.
Здесь идеально подошел бы Tempermonkey, так как я могу добавить кнопки на определенные элементы, которые бы запускали функции и манипулировали с элементами.
Остальные варианты, которые я использовал не подходят по следующим причинам:
- Обращаются к id элемента (Это является проблемой, т.к. форм много и id генерируется)
- При запуске скрипта открывают новое окно и переходят по ссылке, а сайт является SPA и поэтому при переходе по конкретной ссылке, сайт редиректит меня (Например: Перехожу по ссылке /main/users/create/new, а попадаю на /main/users)