JS, как сделать так, чтобы Chrome автоматически заполнял значения ввода без ввода - PullRequest
0 голосов
/ 02 марта 2019

Я пишу расширение Chrome для автоматического входа.Для входа на веб-сайт, на который я нацеливаюсь, необходимо указать: имя пользователя, пароль и идентификатор студента.Поскольку автозаполнение Chrome сохраняет только имя пользователя и пароль, я разработал небольшое расширение, которое вводит идентификатор студента и нажимает кнопку входа в систему.

Я решил разрешить своему добавочному модулю обрабатывать только идентификатор студента, который не 't автоматически сохранять с помощью Chrome и позволить браузеру Chrome обеспечивать безопасность пользователя и пароля.даже то, что я храню все в локальном хранилище.и что на стороне сервера нет

Я заметил даже, что автозаполнение вставляет значения, и они появляются на экране, пользователь должен нажать любую кнопку клавиатуры / мыши, чтобы значения сработалисобытие "change" и входные данные будут иметь правильное значение.

Я пытаюсь смоделировать его, но, к сожалению, безуспешно, вызывая событие focus / select / change.

my background.js:

var bgUserIDKey="OUAL_USER_ID"
var currentURL="";
var sendClick = "document.getElementsByTagName('input')[3].click();";
var triggerOnChange="$('#p_sisma').trigger('keydown');$('#p_user').trigger('keydown');";



function BackgroundLogin(){    
  if (currentURL.includes("sso.apps.openu.ac.il/SheiltaPortalLogin?"))
{
    this.SendScriptIntoActiveTab({code:"document.getElementById('p_mis_student').value="+GetUserID()+";"});
    setTimeout(function(){ 
      this.SendScriptIntoActiveTab({code:sendClick});
      this.SendScriptIntoActiveTab({code:this.triggerOnChange});

      this.SendScriptIntoActiveTab({code:"document.getElementById('p_mis_student').value="+GetUserID()+";"});
      BackgroundLogin();

    },350);
    console.log("OUAL Auto logged in.")
  }
}

он вводит идентификатор и, как вы можете видеть, он пытается войти в систему каждые 350 мс, когда он имитирует кнопку отправки, веб-сайт не распознает имя пользователя ипароль, и работать только после любого нажатия клавиатуры или мыши любой программой на странице.

без какого-либо ввода пользователя, форма может «видеть» только идентификатор студента без имени пользователя и пароля, даже если они вставлены.enter image description here Я пробовал несколько решений, которые я нашел в Интернете, но, похоже, ничего не работает.

Есть идеи?

...