SeleniumとGoogle Spreadsheets(6) 「GoogleSpreadSheetの読み書き編」

SeleniumとGoogle Spreadsheets(6) 「GoogleSpreadSheetの読み書き編」

どうも、さむらいですな。
この記事いつまで続くんだろう・・・。

ということで、前回ではGoogleSpreadSheetを利用するための認証処理を書きました。今回はその後実際にスプレッドシートを読み書きするサンプルをご紹介します。

前回までのソースを修正

前回までのソースコードの以下を書きなおしました。

[/crayon]

ここまでのおまじないで、スプレッドシート全体および、デフォルトのワークシートにアクセスする準備が整いました。
お気づきの方もいるかも知れませんが、ここではなんとChrome Driverを使っていません。

今までのはなんだったの・・・と肩を落とさずに次へ進みましょう。そのうちまたChrome Driverが出てきますので。

※ここまででまた新しいクラスが使われていますので、随時Eclipseの補完機能でimportしていってください。

セル情報を取得しよう

ワークシートにアクセスできるようになったら、次は個別のセル単位でデータを読み出します。上のソース内の //..続くよ..// の後に以下のソースを記述します。

[/crayon]


 これでシートから文字列取ったどー!でも作ったシートに何も入力してなければ、戻り値は空文字なので、予めK1セルに何か文字を入れておいてもいいかも知れません。この後K1セルに文字を入力するサンプルも記述しますぞ。

セルにデータを書き込む

読み出しは成功しましたか?例外は発生してませんか?
うまく行っていれば、次は指定のセルへのデータ入力を実施しましょう。

以下のソースを、上のサンプルの最後に書きます。

[/crayon]

ここまでの処理を実行すると、

1.GoogleSpreadSheet にアクセスし、認証
2.デフォルトワークシートの、K1セルのデータの読み込み
3.デフォルトワークシートの、K1セルのデータの書き込み

ができるようになりました。

最終ソースはimport宣言も含めて以下の形になります。

[/crayon]

ちなみにChrome等でワークシートを開いたまま上記を実行すると、K1セルが書き換わるのがほとんどリアルタイムで確認できるはずです。面白いので試してみてください。

ここまでの処理が上手くいけばあとは、Selenium と SpreadSheet の組み合わせ次第でいくらでも夢が広がりますね。

GoogleSpreadSheet を外部設定ファイルとして使うことによって、Webフォームからシートにデータを登録できるようにしておいて、 Selenium からはその内容を読み込んで動かすようにしておけば、都度プログラムを修正する必要もなく、Selenium の挙動を変更することも可能になります。

記述ルールさえ決めておけば、Javaプログラムが書けない人でもプログラムを実行させることができるようになるし、シートを更新の度にコピーしてバックアップする等をしておけば、過去どういった処理を行ったかも残せるようになります。

プログラムを都度書き直したりする必要がなくなるだけでも、工数がだいぶ削減できると思いますので、ぜひともトライしてみてください。

※ショーケース・ティービーではすでに設定シートを読み込んでその通りに Selenium を動かす、という処理を行なっています。今のところまだ、修正したプログラムが既存の動作に影響を与えてないよね、というチェックでの用途でしか使っていませんが。

ということで、このシリーズはここまで!お付き合い頂きありがとうございました〜。
変なところがあったら、、、頑張って直してください(笑)

次回の記事ではこのスプレッドシートのデータを取得したり更新したりするときに苦労した話を書こうかな。

ということでまた!

コメント