Google Cloud PrintをSeleniumで自動実行

Google Cloud PrintをSeleniumで自動実行するという超レアケースを試す。

GCPはOAuth認証が必要で、スクラッチで呼び出す部分を作ろうと画策したが面倒くさくなったので以下の例に従うことにする。

https://developers.google.com/cloud-print/docs/gadget?hl=ja

これをSeleniumで自動実行する。

Selenium IDEで記録したものをスクリプトに落として実行してもさっぱり動かない。
まずGCPの印刷ダイアログがiframeで表示されるため、iframe内のオブジェクト操作ができない。これはswitch_to_frameを使う。

次にOAuth認証画面がポップアップで別画面として出てくるが、この操作ができない。これはswitch_to_windowを使う。しかし_target="blank"となっているため名前が決まっていない。これは以下のページを参考に新規に作られたWindowにswitchするようにする。

http://www.qanepal.com/2015/02/selenium-target-blank-switch-to-new.html

あとはこの応用でなんとか自動実行できるようになった。

慣れないと難しい。

コメント

このブログの人気の投稿

ST-M310 シフトレバーのカバー開け

Ride with GPSで作成したルートのgpxファイルとOruxMapsの関係

UbuntuのpostfixでGmailにメールを転送する