Использование JavaScript, чтобы открыть новую страницу и заполнить значения формы там

StackOverflow https://stackoverflow.com/questions/3717361

Вопрос

Я использую 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. Как только поле имени пользователя доступно на загруженной странице, щелкнув ту же ссылку, снова заполнит форму и отправьте.

Так что это еще один щелчок, чем вы надеетесь, но если вы поместите блокмаркет на панели инструментов, это вряд ли никакой задержки. Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top