最近では多くの職場にWebブラウザーを利用したグループウエアが導入されています。簡単な業務報告をしたり、経理などのデータ入力をしたり、また業務データのダウンロードができるものなど、さまざまなものがあります。

 こうした「Webアプリ」では、Webブラウザーがあれば操作ができますので、iPadやNexus 7などタブレット端末からでも使うことが可能です。基本的に便利なのですが、気の利かない面倒な作業を要求される場面があって、うんざりすることもあります。

 そこで今回は、JavaScriptでWebブラウザを自動操作する方法を紹介します。使っているグループウエアは勤務先の企業などによってそれぞれ異なるでしょうから、今回はGmailを例にとって、ブラウザー(Internet Explorer=IE)を自動操作するプログラムを紹介します。

Gmailにログインして任意のフォルダを表示する

 今回のプログラムでは、IEでGmailにログインして、メール画面の迷惑メールフォルダーを表示するという処理を作ってみます。このプログラムはWindowsでのみ実行できます。

 Gmailの画面は頻繁に更新されます。今回は本コラム執筆時点の2013年10月現在の画面に対応したプログラムを紹介します。時間が経つと動かなくなる可能性がありますが、パラメーターを少し変更することで、Gmailの画面が更新された後の画面にも簡単に対応できるでしょう。

 さて、JavaScriptプログラムの全体は、以下のようになります。

 以下のプログラムを「IE-autologin.jse」という名前で保存します。そしてテキストエディターでプログラムを開き、プログラムの冒頭にある変数「g_account」と「g_password」にGoogleアカウント(Googleにログインする時のIDとパスワード)を設定します。そして、IE-autologin.jseファイルをダブルクリックすると、プログラムが実行されます。

IE-autologin.jse
//--------------------------------------------------------------------// IEでGmailに自動ログインして迷惑メールフォルダを開く//--------------------------------------------------------------------// 設定var g_account  = "***@gmail.com";var g_password = "***";// IE起動var ie = WScript.CreateObject("InternetExplorer.Application");ie.Navigate("https://accounts.google.com/ServiceLoginAuth?continue=" +"http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fhl%3Dja&" +"service=mail&rm=false&ltmpl=default&hl=ja&scc=1");ie.Visible = true;waitIE(ie); // アクセス完了まで待つ。// Gmailのパスワードをセット$("#Email").value = g_account;$("#Passwd").value = g_password;WScript.Sleep(100);$("#signIn").click();waitIE(ie);// 迷惑メールフォルダを開く// 検索窓に「in:spam」を設定してクリック$("#gbqfq").value = "in:spam";WScript.Sleep(100);$("#gbqfb").click();// IEがビジー状態の間待つfunction waitIE(ie) {  while(ie.Busy || ie.readystate != 4) {    WScript.Sleep(100);  }  WScript.Sleep(1000);}// 特定の要素を得るfunction $(id) {  return ie.document.querySelector(id);}
Googleアカウントの設定

 Googleアカウントの設定方法ですが、プログラムの冒頭の以下の「*」の部分を書き換えます。

// 設定var g_account  = "***@gmail.com"; // <--- ここにアカウント名var g_password = "***";           // <--- ここにパスワード

IE-autologin.jseを実行したところ。
IE-autologin.jseを実行したところ。
[画像のクリックで拡大表示]