Использование JavaScript, чтобы открыть новую страницу и заполнить значения формы там
-
02-10-2019 - |
Вопрос
Я использую JavaScript в блокноте, чтобы заполнить элементы формы на сайте:
javascript:var f = document.forms[0];
f.getElementsByTagName('input')[0].value = 'myname';
f.getElementsByTagName('input')[1].value = 'mypassword';
f.getElementsByTagName('input')[2].click
Это работает. Однако то, что я хотел бы создать, это букмаркет, так что он открывает целевую страницу и заполняет там значения; Однако кажется, что включает страницу загружена, другие коды JavaScript не выполняются. Итак, следующее не работает.
javascript:window.location("mywebsite");var f = document.forms[0];
f.getElementsByTagName('input')[0].value = 'myname';
f.getElementsByTagName('input')[1].value = 'mypassword';
f.getElementsByTagName('input')[2].click;
Я также экспериментировал с Settimeout, чтобы отложить исполнение моего кода, но это не сработало.
javascript:var f = document.forms[0];setTimeout("f.getElementsByTagName('input')[0].value = 'myname';f.getElementsByTagName('input')[1].value = 'mypassword';f.getElementsByTagName('input')[2].click;",1000);
Как я могу загрузить свой скрипт, когда я знаю, что целевая страница полностью загружена?
Решение
Грязная обезьяна встроен в хром, звучит, как вы пытаетесь изобретать колесо. Установите файл JS, и он будет работать, когда страница нагрузки.
Другие советы
Я не использую Greasemoskey как личное правило, чтобы кодировать браузеры, которые не должны его использовать. Bookmarklets - это подход наименее распространенного знаменателя для автоматизации логинов, когда ваша система заблокирована и не позволит установить Greasemonkey, RoboForm и т. Д.
Я записал много входа в систему закладки и подумал о том, что вы пытаетесь сделать: добавьте несколько сценариев, который выполняется после нагрузок страницы. Я пришел на эту страницу, ищу решение, но теперь я рад, что это не работает.
Подумайте о последствиях безопасности этого. Если бы можно было эхо нажатывать на нагрузку на загруженную страницу, он также сможет слушать нажатия клавиш и отправить их в другое место - очень плохо.
Если вы хотите автоматизировать Logins, попробуйте узору заблокированного рисунка как это (удалить линии линии):
javascript:
u='my_username';
p='my_password';
l='https://my_server/signon.aspx';
if(location!=l)location=l;
else{
g=document.getElementById;
ue=(g('username') || g('userid') || g('login_name'));
if(ue){
ue.value=u;
pe=(g('password') || g('pw') || g('pin'));
pe.value = p;
b=(g('submit_button') || g('signon_button') || g('login_button'));
document.close();
if(b)b.click();
}
}
Нажав на ссылку один раз, приведет к вам на страницу Signon.aspx. Как только поле имени пользователя доступно на загруженной странице, щелкнув ту же ссылку, снова заполнит форму и отправьте.
Так что это еще один щелчок, чем вы надеетесь, но если вы поместите блокмаркет на панели инструментов, это вряд ли никакой задержки. Удачи!