Как менеджеры паролей запускают JS после загрузки страницы? - PullRequest
0 голосов
/ 24 июня 2018

Менеджеры паролей (PM) - это инструменты, которые могут выполнять простое заполнение формы входа в систему автоматически после загрузки страницы, даже с высокой степенью безопасности, например для онлайн-банкинга.Я хочу создать свой личный PM в JS, который может запускать более сложные специфичные для сайта программы, такие как обработка необязательных подпунктов и странных многостраничных или множественных входов в систему (например, используемых Google).

Как существующие PM продолжают запускать JS после загрузки целевой страницы и до того, как сама целевая страница запускает JS?Как они сохраняют контроль?Должен быть неочевидный, но эффективный трюк.Может кто-нибудь дать краткий скриншот проверенного кода, который вставляет имя пользователя на страницу входа в систему какого-либо известного сайта?Или эта задача требует освоения написания расширения / аддона браузера?

1 Ответ

0 голосов
/ 24 июня 2018

Ну, вам нужно будет вручную установить, в какие поля сохранять селекторы запросов и значения, а затем использовать этот код для заполнителя:

var pmdata=[
    {query:/*query selector here*/,value:/*input value*/},
    {query:/*another query selector here*/,value:/*another input value*/}
];
var passwordMan=setInterval(function(){
    pmdata.forEach(function(e){
        if(document.querySelector(e.query)){
        document.querySelector(e.query).value=e.value;
        pmdata.splice(pmdata.indexOf(e),1);
        }
    });
    if(pmdata.length==0)clearInterval(passwordMan);
},100);

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

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