片岡空の上の空

一旦書き留めるためのページ

Mechanizeで画像をクリックできなくて死んだ話。

Mechanizeで画像をクリックできなくて死んだ話。

結論から言うとMechanizeクローラを作っていたが、画像ボタンをクリックできずにしんだ。っていうだけの話なのですが、フラストレーションが溜まったので記事にします。

 

「応募者の中から毎月XXX名様にプレゼント」というサイトの応募フォームに毎月cronでアクセスして、自動で問い合わせをする、グレーなシステムを組んでいたのですが、

input要素を全部うめ、あとは「送信」のボタンを押すだけのところまで作ったのですが、その「送信」ボタンが

 

<img id="btn_confirm" src="" />

 

になっていて、jsをトリガーにしてフォームを送る形式になっていました。

 

Mechanizeでjsを動かすことはできないのはわかっていたのですが、

imgタグをクリックできないかで試行錯誤してみましたが、結局の所駄目でした。

 

img.clickだとか、aタグのクリックっぽいことをできないかだとか。。。

おそらくモンキーパッチを作るとしたらaタグのクリック部分にパッチを当ててimgタグでもできるようにする形かと思います。

 

結論としてはMechanizeじゃなくてjsを実行できる他のgemを使ってクローリングしろって話です。


私のおすすめはcapybaraですかね、test用のgemではありますが、私にとっては非常に使いやすく重宝しております。