Введите значение для ввода (имя пользователя, пароль, адрес электронной почты и т. Д.) И отправьте с помощью JavaScript - PullRequest
0 голосов
/ 29 августа 2018

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

Я достиг этого на многих веб-сайтах, но у меня возникают проблемы с выполнением этого на нескольких сайтах, таких как этот "https://app.hubspot.com/login/".

Я делаю это, когда помещаю значение с помощью метода ".val ()" в javascript / Jquery, показывает значение в поле ввода имени пользователя, но атрибут value остается пустым, проверяя проверяющий элемент.

Я даже пытался поместить атрибут, используя метод "setAttribute ()" javascript.

Мне удалось поместить значение в текстовое поле, но когда я нажимаю на текстовое поле имени пользователя, значение становится пустым.

И кроме текстового поля Имя пользователя. Если я пытаюсь поместить значение в поле пароля, оно не становится пустым при фокусировке или размытии, но размещение значения с использованием javascript не делает кнопку входа нажатой. Но когда я печатаю с помощью клавиатуры. Все нормально, как и ожидалось. Единственная проблема заключается в том, может войти в систему через JavaScript.

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

Я даже пытаюсь смоделировать ввод с помощью этого

            var item = jQuery("#username");
            jQuery(item).focus();
            jQuery(item).keydown();
            jQuery(item).keypress({which: 'A'.charCodeAt(0)});
            jQuery(item).keyup();
            jQuery(item).change();
            jQuery(item).blur();

Теперь я не знаю, что мне нужно сделать, чтобы добиться этого на этих нескольких сайтах.

Пожалуйста, обратите внимание: - Я пробовал все это в самой консоли браузера

Я очень ценю ваше время и помощь

Большое спасибо всем.

1 Ответ

0 голосов
/ 29 августа 2018

Согласно моему пониманию Для этого сайта https://app.hubspot.com/login/, который разработан с использованием React JS, мутирует DOM напрямую, нацеливаясь на элементы с помощью javascript / Jquery, не поможет, так как реагирует, сохраняет виртуальный домен, который он обновляет при каждом изменении и наконец сравнивает с реальным домом и применяет отсутствующие изменения к реальному дому

В вашем случае, когда вы нацеливаетесь на любой элемент через javascript / Jquery и изменяете любое значение, вы обновляете реальный домен, но эти изменения не обновляются в виртуальном домике, поэтому ваши изменения не отражаются, когда вы начинаете взаимодействовать с сайтом вручную.

...