0

ネットにアクセスする必要があるたびに、最初に大学のログインページにログインする必要があります。どうすればそれをバイパスできますか?ページにユーザー名とパスワードを自動的に入力するクロム拡張機能を作成することができましたが、ブラウザーにクリックさせるにはどうすればよいですか?ログインボタン?これに関するリソース/アイデア/提案された読み物はありますか?

4

3 に答える 3

3

Chrome の「ユーザー名とパスワードを保存する」機能を使用しますか? OK、あなたはそれをしたくありません。

フォームを見つけて送信します。

フォームに ID がある場合は、ID で検索します。

var form = document.getElementById('id');
form.submit();

そうでない場合は、ページにフォームが 1 つしかない可能性があるため、次のように見つけることができます。

var form = document.getElementsByTagName('form')[0];
form.submit();

それでもうまくいかない場合は、ユーザー名の入力を使用して、それを含むフォームを見つけることができます。値を入力できると言ったので、ユーザー名入力への参照があると思います:

// Assume variable 'usernameInput' points to the username input element.
var form;
var p = usernameInput.parentNode;
while (p) {
    if (p.nodeName.toLowerCase() == 'form') {
        form = p;
        break;
    }
}

if (form) {
    form.submit();
}

等。

[送信] ボタンを探してクリックすることもできます。

var myButton = document.getElementById('submitButton');
myButton.click();

コンテンツ スクリプトからクリックまたは送信することで、さまざまな成功がありました。おそらく、jQuery をインポートすると問題が発生する可能性があります。確かなことはわかりません。そのため、このgemでマウスイベントを明示的に送信していることに気付きました(必要に応じて他のイベントタイプに適応させます):

function clickElement(el) {
    el.css('background-color', '#FFFF00');
    el = $(el).get(0);
    var evt = document.createEvent('MouseEvents');
    evt.initMouseEvent('click', true, true, document, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
    el.dispatchEvent(evt);
}
于 2013-09-18T19:22:37.157 に答える