Как автоматически нажать кнопку входа в систему с помощью JavaScript

#javascript #google-chrome #bookmarks

Вопрос:

Я хочу сохранить некоторый код JavaScript в качестве закладки в chrome, чтобы он автоматически открывал мой сайт для входа в университет и нажимал на кнопку входа. Я совершенно неопытен в JavaScript, поэтому понятия не имею, как это сделать. Я вырезал следующий код, который открывает правильный веб-сайт, но затем ни на что не нажимает. Первый URL-адрес автоматически переводит меня на сайт входа (третий URL-адрес в коде), если я еще не вошел в систему в этом окне.

 (function() {
    window.location.replace("https://lms.uzh.ch/auth/MyCoursesSite/0");
    window.onload = function(){
        if (current_url.startswith('https://lms.uzh.ch/auth/MyCoursesSite/0')) {
            return;
        }
        if (current_url.startsWith('https://lms.uzh.ch/dmz/')) {
            document.getElementById("wayf_submit_button").click();
        }
    };
})();
 

Извините, если это слишком очевидный вопрос и раздражает каких-либо экспертов, но, как я уже сказал, я полный новичок. Я бы, конечно, добавил «javascript:» в начале, чтобы chrome понял закладку.

Комментарии:

1. Добро пожаловать в Stack Overflow! Где объявлен current_url?

2. И хорошим инструментом для javascript: -букмарклетов является caiorss.github.io/bookmarklet-maker

Ответ №1:

Когда вы используете window.location.replace , вы меняете адрес, и ваш код больше не может работать.

Я могу предложить использовать какое-нибудь расширение браузера, тогда ваша «функция щелчка» должна работать.

Я думаю, вы также могли бы попробовать создать какую-нибудь простую html-страницу с iframe, вы вызываете свою «функцию щелчка» на этой странице, но вы нацеливаете ее на iframe. После этого вы можете изменить местоположение браузера на веб-страницу университета, так как вы уже должны войти в систему.

 <html>
 <head>
 </head>
 <body>
  <iframe src="your_university_address.com" id="some_id" onload="click_button()"></iframe>
  <script>
   function click_button()
   {
    my_iframe=document.getElementById('some_id');
    my_iframe.contentDocument.getElementById('your_button_id').click();
   }
  </script>
 </body>
</html>
 

Очень просто, но он должен выполнять эту работу.
(Вы можете достичь аналогичного результата, используя window.open() I guess)