SeleniumとGoogle Spreadsheets(5) 「いよいよGoogleSpreadSheetにアクセス編」

SeleniumとGoogle Spreadsheets(5) 「いよいよGoogleSpreadSheetにアクセス編」

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

どうも、さむらいですな。
プログラマー出身のわたくしですが、ウェイトトレーニングが趣味です。でも寒い時期は全然ジムに行かないので体が緩んできました。が、頑張ります。

さて、前回まででChrome Driver利用の準備が整ったので、まずは基本的なところから。

指定のページにアクセス

前回までのソースコードに、基本中の基本となる「指定ページへのアクセス」命令を追加します。下記のWebDriver driverから始まるコードです。

[c] package testSelenium;
public class UseDriver {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
System.setProperty(“webdriver.chrome.driver”, “./Driver/chromedriver”);
WebDriver driver = new ChromeDriver();
driver.get(“http://アクセスしたいURL”);

}
}
[/c]

上記を実行すると、Chrome Driverを経由して Chrome が立ち上がり、指定された URL のページを開くはずです。もしChrome Driverに実行権限がない、等のエラーが発生した時は、Chrome Driver へのパーミッションが実行可能権限で設定されているか確認してください。
※これまでの記事の中で Chrome Driver のパーミッション変更について記述していないので、素直にここまで読み進めるときっとパーミッションエラーがでる気はします。

上記の状態で処理が終了すると、Chrome が立ち上がったままとなってしまうので、
diver.getの記述の後に、以下 Thread.sleepから始まる2行を追加します。
[c] package testSelenium;
public class UseDriver {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
System.setProperty(“webdriver.chrome.driver”, “./Driver/chromedriver”);
WebDriver driver = new ChromeDriver();
driver.get(“http://アクセスしたいURL”);

Thread.sleep(2000);
driver.quit();

}
}
[/c] 見てわかる方もいると思いますが、2000ミリ秒待機した後、Chrome Driver から立ち上げた Chrome を閉じる記述です。

ということで、前座はここまで。

いよいよGoogleSpreadSheetへ!?

と、その前に。
ここからは Google のアカウントがあることを前提としていますので、事前にご用意ください。
その上で、まずはアクセス先の説明から。

スプレッドシートをブラウザで開くと、URLは以下の通りとなっています。

https://docs.google.com/spreadsheets/d/1dwB0jfW7mfUQOP5VEebblUq00VtBAMkpkdI2mNwtYt4/edit#gid=0

上記URLのうち https://docs.google.com/spreadsheets/d/ から後ろのランダム英数字に見える文字列がシートを特定するパラメータになりますので、自分のGoogleDocumentにスプレッドシートを作成したら、そのパラメータを取得しておいてください。

GoogleDocumentの認証を実行しよう

上記で追加したThread.sleepから始まる2行を削除して、以下の2行を追加します。

[c] package testSelenium;
public class UseDriver {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
System.setProperty(“webdriver.chrome.driver”, “./Driver/chromedriver”);
WebDriver driver = new ChromeDriver();

SpreadsheetService service = new SpreadsheetService(“アプリケーション名”);
service.setUserCredentials(“ログインID”, “ログインパスワード”);
}
}
[/c]

アプリケーション名は何でもいいです。適当に ”testSelenium” とかにしておきましょう。
ログインIDは Google サービスへのログインIDです。ほとんどの場合メールアドレスになっていると思いますので、それを記述します。
ログインパスワードは Google サービスへログインするためのパスワードです。プログラムの中に直接記述するのは抵抗があるでしょうが、一旦大目に見て書きましょう。

また、SpreadsheetService クラスを使うために、
[c]com.google.gdata.client.spreadsheet.SpreadsheetService;[/c] をimportしましょう。Eclipse が補完してくれるはずです。

ログイン処理はこれで終わりです。
あとはシートを特定して、そのシートの行や列へのアクセスをAPIを利用して実現します。

次の記事では、スプレッドシートをAPIを使って操作するプログラムを紹介します。

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

【週刊bitWave】(メルマガ)始めました!

登録はこちらからメールアドレスを入力してお申込みください。

ご登録いただいたメールアドレスは 【週刊bitWave】の更新情報の配信にのみ使用します。

個人情報の取扱いに関しては、「プライバシーポリシー」をご確認ください。解除はいつでもこちらから行うことが可能です。

あなたにおすすめ