PerlでのSelenium導入メモ
お勉強中。いちいち実行方法忘れて調べるの面倒なんでメモっとく。まともなプログラム書けたら記事書く予定。
目的
- 定期時間でのブラウザ自動操作
- 自動クリックとか自動購入とかそんなとこ。テスト用のツールだけどそんなことはしない。
Selenium Serverの立ち上げ
こいつを立ち上げて置かないとスクリプトからブラウザ操作が出来ないので、開発前に立ち上げとく
java -jar selenium-server-standalone-2.42.2.jar
-
- verに注意。
- コマンドプロンプト閉じると終了しちゃうので、閉じないように。
WWW:Seleniumの導入
これやっても、スクリプト実行時Don't locate出たらこっちで
- [cpan]でcpanUIに移行
- [force install WWW::Selenium]
- 要は強制インストール。インストール中に本当にそのまま入れる?みたいな質問が出るので全部[yes]を入力
詳しくはcpanの使い方の整理 – taichino.com
- 要は強制インストール。インストール中に本当にそのまま入れる?みたいな質問が出るので全部[yes]を入力
テストプログラムを実行
Hachioji.pm 日めくりテックトーク様よりスクリプトをコピペして、hoge.plで保存。実行。
use strict; use warnings; use WWW::Selenium; my $sel = WWW::Selenium->new( host => "localhost", port => 4444, browser => "*firefox", browser_url => "http://orteil.dashnet.org/", ); $sel->start; $sel->open("/cookieclicker/"); while (1) { $sel->click("id=bigCookie"); }
Selenium Server用のページとクッキークリッカーのページが開いて、クッキー製造しまくってれば成功。終わるときはブラウザ閉じればOK。
あとは書くだけ
これから書くスクリプトの構成
大体は
みたいな流れになると思う。ログインページ移行とログインはSelenium IDE使えば簡単に出力できるんで、ページ操作部分を重点的に勉強する。
特に特定時間に特定箇所をクリックしたり、その結果がxxだったらyyするみたいなことをやる。まあそのへんは出力ページの解析の話になるんでParserなりTreeBuilderを使えば出来るんじゃなかな、とは思ってる。
参考サイト
- SeleniumとPerlの話 | Hachioji.pm 日めくりテックトーク
- 上記の内容全般
- http://search.cpan.org/~mattp/Test-WWW-Selenium-1.36/lib/WWW/Selenium.pm
- ライブラリのページ。メソッドとかいろいろ。
- 品質向上ブログ |
- selenium界隈の記事たくさん。仕組み紹介してる記事もある。