スクリプトによるIE自動操作
IEを起動して、必要事項を入力するといったルーチン作業が面倒なので、スクリプトを作成すべくいくつか検証。
以前作成した、GoogleMap上で位置情報の付与されたtweetを検索するアプリでは、地名と検索範囲を入力して検索するので、「地名の入力」、「半径の入力」、「検索ボタンをくりっくする」という3つの作業を自動化するスクリプトを作成して試してみた。
// 設定 var g_place = "仙台"; var g_radius = "2"; // IE起動 var ie = WScript.CreateObject("InternetExplorer.Application"); ie.Navigate("http://1-dot-tweet-on-gmap.appspot.com/displayTweet"); ie.Visible = true; waitIE(ie); // アクセス完了まで待つ。 //地名を自動設定 //$("#address").value = g_place; ie.document.querySelector("input[id='address']").value = g_place; //半径を自動設定 $("#radius").value = g_radius; WScript.Sleep(100); //検索ボタンを押す $("#test").click(); waitIE(ie); //*****以下、関数定義******// // IEがビジー状態の間待つ function waitIE(ie) { while(ie.Busy || ie.readystate != 4) { WScript.Sleep(100); } WScript.Sleep(1000); } // 特定の要素を得る function $(id) { return ie.document.querySelector(id); }
ただ、サイトによっては正常に動作しない・・・。
原因が分からない。HTMLの記述方法が悪いのかな。