WindowsでJenkinsとWebDriverを動かそうとしてハマった

感想おまちしてます!

WindowsにJenkinsを入れて、WebDriverでスクレイピングしようとしてハマったときのログ。WindowsだとJenkinsをサービスとして登録すると、ジョブ動かしてブラウザ開けないんですね。知らなかった。

スポンサーリンク

やりたかったこと

定期的にチェックしているWebページがあるんですが、そこを毎日見に行くのが面倒なので、WebDriverで定期巡回させて、チェックしたい項目をテキストに書きだそうと思いました。

そこでJenkinsをインストーラーで入れて、ジョブを作成。巡回用のWebDriverスクリプトをキックしてみると、よくわからないエラーが出て動きません。

問題点

ジョブを実行すると以下の様なエラーが発生します。

@driver = Selenium::WebDriver.for :chromeはブラウザが起動される部分で、そこでコネクション拒否(ECONNREFUSED)されているみたいです。

対策案

この問題についてはWindows上のSeleniumからWebDriverで定期的にブラウザを立ち上げるで解説されています。

Windowsではサービスとしてcronなどのdaemonを起動させると、そのプロセスからはGUIアプリケーションを立ちあげて動作させることが出来ない制約があります。

なるほど。勉強になりました。

サービスは使えないということなので、サービス登録せず、Javaコマンドを使ってJenkinsを起動するようにしたら、元気にWebDriverが動きました。