Как веб-очистить мимо сложной страницы входа в систему с помощью JavaScript? - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь использовать javascript для входа на веб-страницу, однако на странице выдается сообщение об ошибке «поле имени пользователя / пароля пустое», даже если текст явно введен.Вот как я могу ввести имя пользователя / пароль, используя JavaScript.

document.getElementById('username').value='TestUsername';
document.getElementById('password').value='TestPassword';

Я считаю, что страница использует angularJS, чтобы заблокировать распознавание ввода javascript.Если я вручную в браузере возвращаю один символ, текст распознается.Chrome / Safari / Opera автозаполнения могут обойти это, однако мобильное сафари иногда имеет проблемы.

Как я могу, используя javascript, сделать так, чтобы вводимый текст распознавался веб-страницей?

Еще одно примечание, класс HTML-элементов, таких как имя пользователя, пароль, форма иКнопка «отправить» все изменяет класс, когда текст распознается от «ng-touch-ng-dirty ng-invalid» до «ng-touched ng-dirty ng-valid».Я попытался с помощью javascript изменить className, однако текст до сих пор не распознан.

1 Ответ

0 голосов
/ 29 января 2019

После установки входных значений, попробуйте вызвать событие "input" , например, так:

var element = document.getElementById('username');
element.value='TestUsername';
var event = new Event('input', {
    'bubbles': true,
    'cancelable': true
});

element.dispatchEvent(event);

Ввод событий - это путь, откуда Angular знает, что некоторыепроисходят изменения и должен запускаться дайджест цикла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...