このWeb ページに自動的にログインする Chrome の拡張機能を作成しようとしています。これは、ページに入ったときにそれを検出することによって行われ、ブラウザをログイン ページにリダイレクトし、そこでユーザー名とパスワードを入力してログイン ボタンをクリックします。
マニフェスト.json:
{
"manifest_version": 2,
"name": "Login",
"description": "Automaticly logs in to a page",
"version": "1.0",
"background": {
"scripts": ["background.js"],
"persistent": false
},
"permissions": [
"tabs",
"http://*/"
]
}
background.js:
window.onload = function() {
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
if (tab.url == "https://www.itslearning.com/Index.aspx?customerid=&username=&redirectlogin=itslearning.com&MustUseSsl=true&") {
chrome.tabs.update(tabId, {"url": "https://vaf.itslearning.com/elogin/"}, function(){});
} else if(tab.url == "https://vaf.itslearning.com/elogin/") {
var username = document.getElementById("ctl00_Username"); //doesn't work
var password = document.getElementById("ctl00_Password"); //doesn't work
var button = document.getElementById("ctl00_ButtonLogin"); //doesn't work
if (username && password && button) {
username.value = "####";
password.value = "######";
button.click();
}
}
});
};
右クリックしてフィールドのIDを取得しました->クロムの要素を検査します。最初に実行したとき、ブラウザは正しいページにリダイレクトされましたが、パスワードとユーザー名が入力されていなかったため、簡単なデバッグを行ったところ、フィールドがまったく見つからないようです。フォーラムを検索したところ、最初にページを完全にロードする必要があることがわかったので、追加しましwindow.onload=function(){}
たが、それでも機能しません。なんで?
以前にJavaScriptで少しプログラミングしたことがありますが、Chrome拡張機能の開発は初めてなので、追加のヒントや提案があれば教えてください.