201605 fa勉強会スライド

325 views

Published on

FA勉強会Seleniumのスライドです。

Published in: Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
325
On SlideShare
0
From Embeds
0
Number of Embeds
185
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

201605 fa勉強会スライド

  1. 1. 画面自動操作 Selenium編 ~テスト自動化以外での活用方法~
  2. 2. 自己紹介 • 高橋秀平 • 2014/4にEVERRISE入社(現在3年目) • 広告代理店での便利ツール開発(主にVBA、Ruby) • 最近はScalaに興味あり • 子持ち
  3. 3. 広告代理店での活用方 法をご紹介します。
  4. 4. アジェンダ ◆現場の皆様が困っていること、、、 ◆Seleniumとは  ・メリット  ・デメリット ◆サンプルコード ・その1(ブラウザ自動操作) ・その2(Webスクレイピング) ◆困ったことあるある ◆まとめ
  5. 5. 現場の皆様が困っている こと、、、
  6. 6. ・ブラウザ上で、毎日何度も同じような作業するのめん どくさい。
 (例)csvデータのDL、入稿作業(データ入力) etc... ・数が多すぎて時間的に終わらない。 ・業務時間外でも上記の作業を行いたい。 ・レポート管理ツールを使って、欲しいデータだけ取ろ うにも、サイト(媒体社側)でAPIを公開していない。
  7. 7.  そうだ! 自動化すればいいんだ!
  8. 8. Seleniumとは ・Webアプリのテストを自動化するツール。 ・IDE と WebDriverがある。
 →IDEはfirefoxのプラグイン。
  自動記録でスクリプトに書き起こせる。
 →WebDriverはブラウザを操作するライブラリ。
  Java、Rubyなど色々な言語で使える。 ・マルチブラウザ対応。(chrome,firefox,IE etc..) ・DOM操作でWebページの要素を特定して操作する。
  9. 9. メリット ・単純だけど時間がかかる作業を人がやらなくて済む。 ・Javascriptより要素を特定するメソッドが豊富。 ・Selenium IDE(firefoxのプラグイン)を使えば、自動記録 でスクリプトを書き起こせて、実装する手間が省けて楽。
  10. 10. デメリット ・リファレンスが少ない。 ・保守管理が大変。
 画面の仕様変更に弱く、結構な頻度で改修するはめにな る。 ・対象の画面が複雑だと、IDEで生成したスクリプトが動 かない。 ・実行環境のネット回線に依存する。
  11. 11. サンプルコード
  12. 12. ブラウザ自動操作 イメージ このボタンを押したい
  13. 13. VBAコード例
  14. 14. スクレイピング イメージ これとりたい
  15. 15. VBAコード例
  16. 16. 困ったことあるある ・クリックや入力等のアクションで、スクリプトの処理と Webページとの間にラグが出てエラーになる。
 →間にwaitメソッドを入れて、1秒以上待たせる等の チューニングが必要。 ・非同期処理を実装しているWebページだと止まりやすい
 →更新前になく、更新後にある要素を見つけて、その要素 が見つかるまで待たせる処理を入れる。 ・フォーム(input要素)に値を入力できない
 →Javascriptでdisabled、readonly属性をfalseに書き換 える
  17. 17. まとめ ・手軽に使えて便利。 ・動作安定化までは、ひたすらトライアンドエラー ・用法用量を守って、正しくお使いください。
  例) 岡崎市立中央図書館事件
  18. 18. 参考ページ ・ClockAhead 開発Blog ・初心者からガッツリスクレイピング ・Webスクレイピングのノウハウを公開します
  19. 19. もっと良い方法があれば、 後でこっそり教えて下さい。

×