ここから本文です

crontaba を使って Selenium を実行したいです。 ubuntu 14.04を使っています...

norihito08さん

2014/12/1819:29:04

crontaba を使って Selenium を実行したいです。


ubuntu 14.04を使っています。

java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)


jar ファイルに書きだしたプログラムをダブルクリックすると正常に動きます。
しかし、crontab からプログラムを実行すると下記のエラーが出ます。

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:

で検索するとseleniumとFirefoxのアップデートで解決するという記事が中心でした。
両方最新のものをインストールしましたが問題は解決しませんでした。

ご回答よろしくお願いします。




org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:

(process:6236): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: no display specified

(process:6244): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: no display specified

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:114)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:193)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)
at org.selenium.Browser.startFireFox(Browser.java:39)
at jp.ameblo.Application.recoverOptPost(Application.java:27)
at jp.ameblo.Application.main(Application.java:15)
Exception in thread "main" org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows:

(process:6236): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: no display specified

(process:6244): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: no display specified

Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:03:00'
System info: host: 'trmtlinux-ThinkPad-X200s', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-43-generic', java.version: '1.8.0_25'
Driver info: driver.version: FirefoxDriver
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:130)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:114)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:193)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)
at org.selenium.Browser.startFireFox(Browser.java:39)
at jp.ameblo.Application.recoverOptPost(Application.java:27)
at jp.ameblo.Application.main(Application.java:15)
Caused by: org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:

(process:6236): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: no display specified

(process:6244): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: no display specified

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
... 9 more

補足訂正:crontaba になっています。
正しくはcrontab です。

追記
ターミナルから java -jar hoge.jar
だと実行できます。
シェルに java -jar hoge.jar と書いて実行すると同じエラーが発生しました。
ターミナルから実行するのと cronからの実行.shからの実行はそれぞれ何が違うのでしょうか・・・?

閲覧数:
1,331
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

アバター

ID非公開さん

2014/12/1905:15:20

単に、
export DISPLAY=':0';
を追加するだけで動いたりしませんか?

質問した人からのコメント

2014/12/19 13:55:23

降参 ちょっと遠回りかもしれませんが、今後追加したい物があった時のためにシェルに
export DISPLAY=':0';
を追加しました。

最終的には
#! /bin/sh
cd /hote/User/cron ←無くてもいいかも。
export DISPLAY=':0';
java -jar recovery2.jar

をクローンから実行することで無事にプログラムが動くようになりました。

Linux初心者だから?
export DISPLAY=':0';
の意味が分からないので勉強します。

ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

printcapさん

2014/12/1821:38:01

すみません、seleniumはあまり使った事がないのですが、知っている知識と提示していただいたログから、seleniumはFirefoxが起動している事が前提だと思います。

クーロンから実行した時に、Firefoxは起動していなかったのではありませんか?
Firefoxに接続できなかったというエラーがでています。

また、クーロンはXの画面を持っていないので、Firefoxを起動する事ができません。(特定条件下ではできるかもしれません。そのような要件は無かったのでやったことはありません)

おそらくFirefoxを起動しっぱなし(当然そのユーザーはログインしっぱなし)で実行させてみてはどうですか?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

5文字以上入力してください

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。