DOM in WSH

やっと少し理解しかけてきた DOM を何とか活かす手段は無いかと思い、WSH 1.0 を使ってみる事にした。

var IE = WScript.CreateObject("InternetExplorer.Application");
IE.Visible = true;
IE.GoHome();
var d = IE.document;
var nowURI = "";

/* 埋め込むスクリプトファイル */
var embedScript = "c:/ebs/test/usr.js";

while(IE){
while(IE.busy);
while(IE.Document.readyState != "complete");
if(nowURI != d.URL){
nowURI = d.URL;
objUsrScr = d.createElement("script")
objUsrScr.setAttribute("type","text/javascript");
objUsrScr.setAttribute("src",embedScript);
d.documentElement.firstChild.appendChild(objUsrScr);
}
WScript.Sleep(1000);
}

開いたページに任意のスクリプトファイルを埋め込む処理。これで思う存分 DOM で介入できるようになる。デフォルトのIEしか開けないのと、終了を察知できなくてエラーがでるのが欠点。後者はちゃんと調べれば解決できそうだけれど。既に開いているページを直接操作できるようにならないものかと検討中。