#更新前の環境
OS: Ubuntu 14.04
Firefox: 46.0.1
selenium: 2.53.5(Python 版)
#更新後の環境
Firefox: 47.0
OS と selenium のバージョンは変更なし。
自作の Python コマンドを実行したら下記のエラーが出た。
Traceback (most recent call last):
(略)......
raise WebDriverException("The browser appears to have exited "
selenium.common.exceptions.WebDriverException:
Message: The browser appears to have exited before we could connect.
If you specified a log_file in the FirefoxBinary constructor,
check it for details.
Firefox のアップグレード前までは正常に動作していたのだが......。
#処方箋
選択肢 1: Firefox 46.0.1 へのダウングレード
この記事を投稿した 6/12 時点までの選択肢。
選択肢 2: Firefox 47.0.1 へのアップグレード
この記事へコメントをいただいた yasunori さんからの情報だが、
47.0.1 へ更新すると Selenium が動くようになる。
#Firefox 46.0.1 へのダウングレード
下記のページから旧バージョンの Firefox を入手する。
##インストール
-
圧縮ファイルを解凍する。
tar jxf firefox*.tar.bz2 -C $HOME
-
Firefox のプロセスを全て終了する。
-
~/firefox/firefox -ProfileManager
を実行する。 -
新しいプロファイルを作成 > 作成したプロファイルを選択 >
今後このプロファイルを使用する > Firefox を起動 -
sudo apt-get purge firefox
を実行して
Firefox 47.0 をアンインストール。
##PATH の設定
.bashrc へ下記を追記する。
export PATH=$HOME/firefox:$PATH
##Firefox の設定変更
設定 > 詳細 > 更新の確認は行わない(非推奨: セキュリティリスク)
これを忘れると結局 Firefox 47.0 へ更新されてしまい、
selenium が動かなくなる。
Note:
「更新の確認は行うが、インストールするかどうかを選択する」
という選択肢もあるが、これにしておくと Windows10 ばりに
「更新してください」と通知が出まくる。
無論、「更新の確認は行わない」のまま長期間放置するのは危険なので、
selenium が Firefox 47.0 に対応するまでの一時凌ぎであることを
忘れずに!!
#Firefox 47.0.1 へのアップグレード
7/29 私の環境(Ubuntu 14.04)で試してみた。
通常であれば apt-get upgrade
で更新されるはずだが、
実行しても Firefox 47.0 のまま ......。
たぶん Linux の原則に従ってバージョンを固定しており、
Ubuntu 側でセキュリティアップデートとしては認知していないのだろう。
仕方がないので下記のページからパッケージをダウンロードすることにした。
##インストールと PATH の設定
ダウングレードする場合と同じ手順。
##副作用
Firefox が apt-get の管理下から外れてしまう。
Firefox そのものに自動更新機能が搭載されているので問題ないと思うが、
「それは困る!!」という人は PhantomJS へ乗り換えるべし。