2009-07-13
JScript / VBScript (WSH)で,IEを自動操作しよう
開発, javascript, vbscript, ブラウザ |
JScript / VBScriptでも,IEを自動操作(オートメーション)できる。
テキストファイルをダブルクリックするだけで,ブラウザが動く。
しかも,ブックマークレットを自動実行することもできる。
つまり,表示中のWebページに対してJavaScriptを自動的に実行し放題。
下記は .js / .vbs の両スクリプトでのサンプルコード。
内容は,
と同じく,
というもの。
VBScript版
use_ie Sub use_ie() ' IE起動 Set ie = CreateObject("InternetExplorer.Application") ie.Navigate "http://www.google.co.jp/" ie.Visible = True waitIE ie ' 検索キーワードを入力 ie.Document.getElementById("q").Value = "ホゲラッチョ" WScript.Sleep 100 ' 検索ボタンクリック ie.Document.all("btnG").Click waitIE ie ' 1件目のサイトのタイトルを表示 MsgBox ie.Document.getElementById("res") _ .getElementsByTagName("li")(0) _ .getElementsByTagName("h3")(0) _ .innerText ' 制御を破棄 ie.Quit Set ie = Nothing End Sub ' IEがビジー状態の間待ちます Sub waitIE(ie) Do While ie.Busy = True Or ie.readystate <> 4 WScript.Sleep 100 Loop WScript.Sleep 1000 End Sub
VBA版と違うのは,sleepがWindows APIではなくWScript.Sleepになったことぐらい。
JScript版
use_ie(); function use_ie() { // IE起動 var ie = WScript.CreateObject("InternetExplorer.Application") ie.Navigate( "http://www.google.co.jp/" ); ie.Visible = true; waitIE( ie ); // 検索キーワードを入力 ie.document.getElementById("q").value = "ホゲラッチョ"; WScript.Sleep( 100 ); // 検索ボタンクリック ie.document.all("btnG").click(); waitIE( ie ); // 1件目のサイトのタイトルを表示 WScript.Echo( ie.document.getElementById("res") .getElementsByTagName("li")[0] .getElementsByTagName("h3")[0] .innerText ); // 制御を破棄 ie.Quit(); ie = null; } // IEがビジー状態の間待ちます function waitIE( ie ) { while( ( ie.Busy ) || ( ie.readystate != 4 ) ) { WScript.Sleep( 100 ); } WScript.Sleep( 1000 ) }
ブックマークレットについては,「制御を破棄」の手前で
ie.Navigate( "javascript:(function(){alert(document.body.innerHTML)})();" );
を実行してみよう。
ブックマークレットが実行される。
所感
JavaScriptの世界に持って来る事ができれば,もうこっちのものだ。
コメント
リンク元
- 105 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4FRSJ_jaJP334JP334&q=vbscript IE操作 テキストボックス
- 72 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=outlook+vba+マクロ+html+プレーン&btnG=検索&lr=lang_ja
- 47 http://b.hatena.ne.jp/entry/d.hatena.ne.jp/language_and_engineering/20090713/p1
- 24 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=VBS+IE操作 ダウンロード&num=50
- 24 http://www.soukyu-mugen.com/artList?tag=VBScript
- 22 http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&rls=org.mozilla:ja:official&q=javascript+vbscript&revid=1185260718&ei=wK9mSprqMNiOkQX65eH5Ag&sa=X&oi=revisions_inline&resnum=0&ct=broad-revision&cd=1
- 18 http://www.google.co.jp/search?hl=ja&q=VBスクリプト+ブラウザの操作&lr=lang_ja
- 18 http://www.google.co.jp/search?hl=ja&q=WSH+IE+制御&btnG=Google+検索&lr=&aq=f&oq=
- 15 http://it_yougo.shooti.jp/s/504391/1
- 13 http://74.125.153.132/search?q=cache:S7RL6aPh32QJ:d.hatena.ne.jp/language_and_engineering/20090710/p1+VBA+DOM&cd=2&hl=ja&ct=clnk&gl=jp