― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 5 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2018年7月05日(木) 14:21 
こんにちは.お世話になります.
CLI で Firefox をリフレッシュすることはできるでしょうか.

現在 Firefox をヘッドレスモードで起動し (firefox --headless <URL>),JavaScript コードを実行する実験を行っています.
その過程で,ヘッドレスモードでの起動 → 終了を 5 回ほど繰り返すと,Firefox が正常に動作しなくなるという現象に出会いました.
コマンド実行後のコンソールには,通常通り「*** You are running in headless mode.」と表示されているのですが,ページに埋め込まれている JS コードが実行されない状況です.

このとき,GUI で Firefox を起動すると,ホームが表示される代わりに「Firefox Safe Mode」というウィンドウが表示されます.
メッセージには,セーフモードで起動するか Firefox をリフレッシュするか選択するように書かれています.
メッセージに従って Firefox をリフレッシュすると,その後は再びヘッドレスモードで正常にスクリプトが実行できるようになります.

根本的な解決にはなりませんが,とりあえず定期的に Firefox をリフレッシュしながら実験を行いたいのですが,実験はプログラムからコントロールしたいため,コマンドラインからリフレッシュしたいと考えています.
そのようなオプションやコマンドは用意されていますでしょうか.

長くなりましたが,状況は以上のようになります.
version: Mozilla Firefox 60.0.2

宜しくお願いいたします.

_________________
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2018年7月05日(木) 14:58 
追記

書き忘れていましたが,OS は Ubuntu 16.04 になります.
宜しくお願いいたします.

_________________
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2018年7月05日(木) 20:29 
オフライン

登録日時: 2014年2月22日(土) 00:59
記事: 451
Mattsun さんが書きました:
現在 Firefox をヘッドレスモードで起動し (firefox --headless <URL>),JavaScript コードを実行する実験を行っています.
ヘッドレスモードは使ったことがないのですが、MDN Web Docsでは、Node.jsとselenium-webdriverを使った例が紹介されていますね。
Linux 環境を用意するのが面倒だったので、とりあえず Windowsのコマンドプロンプト環境で試してみました。

コード:
firefox.exe --headless --screenshot ss.jpg https://www.yahoo.co.jp/
これだと、Yahoo!トップのスクリーンショットを保存して終了するのですが、
コード:
firefox.exe --headless https://www.yahoo.co.jp/
URLだけだとプロセスが動きっぱなしで、画面が出ないので終了させるにはプロセスをkillする必要がありました。

Mattsun さんが書きました:
その過程で,ヘッドレスモードでの起動 → 終了を 5 回ほど繰り返すと,Firefox が正常に動作しなくなるという現象に出会いました.
Linux では状況は違うかもしれませんが、バックグランドプロセスが溜まってるとかはないでしょうか。

Mattsun さんが書きました:
コマンドラインからリフレッシュしたいと考えています.
そのようなオプションやコマンドは用意されていますでしょうか.
リフレッシュを実行するコマンドラインオプションは無いかと思います。(ちなみに --help で一覧出ます)
上の現象との関連はわかりませんが、もしプロファイルを初期化すればいいのであれば、--profile <path> でプロファイルのパスを指定してみるのはどうでしょう。
あらかじめ必要な既定値を用意したプロファイルを作っておき、テストごとにそれをコピーし、そのパスを指定してテスト実行、終わったら削除する。
こうすれば、テストスクリプト側でコントロールできるかと思います。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2018年7月07日(土) 16:29 
横から失礼します。

すでにご覧になっておられるかと思いますが、MDN に次のようなページがあります。
(参考)
・コマンドラインオプション - Mozilla | MDN
developer.mozilla.org/ja/docs/Mozilla/Command_Line_Options

ここを見る限りでは、Firefox のリフレッシュに特化したコマンドラインオプションはないようです。
しかし、新しいユーザープロファイルを生成するコマンドラインオプションはあります。(-CreateProfile)

Mattsun さんが書きました:
現在 Firefox をヘッドレスモードで起動し (firefox --headless <URL>),JavaScript コードを実行する実験を行っています.
その過程で,ヘッドレスモードでの起動 → 終了を 5 回ほど繰り返すと,Firefox が正常に動作しなくなるという現象に出会いました.
コマンド実行後のコンソールには,通常通り「*** You are running in headless mode.」と表示されているのですが,ページに埋め込まれている JS コードが実行されない状況です.

上記のページにある
-purgecaches
の項目も参考になさってはいかがでしょうか。


開発者とは無縁なシロウトの話にすぎませんが以上です。的外れな話だったらすみません。


(おことわり)
現在、健康上の制約により不定期な書き込みしかできなくなっています。すぐに応答できない場面がかなり多くなりますことを、ご容赦ください。

_________________
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2018年7月08日(日) 14:35 
お二方とも,ご回答いただきありがとうございました.
最終的に,プロファイルを明示的に指定することで上手く行きました.

EarlgreyTea さんが書きました:
もしプロファイルを初期化すればいいのであれば、--profile <path> でプロファイルのパスを指定してみるのはどうでしょう。
あらかじめ必要な既定値を用意したプロファイルを作っておき、テストごとにそれをコピーし、そのパスを指定してテスト実行、終わったら削除する。
こうすれば、テストスクリプト側でコントロールできるかと思います。
偶然的通行人 さんが書きました:
新しいユーザープロファイルを生成するコマンドラインオプションはあります。(-CreateProfile)

上記のご意見を元に色々と動かしてみたのですが,適当な新規プロファイルを作成して,以降そのプロファイルを明示的に指定し続けることで,問題なく動作するようになりました:

コード:
# 適当な新規プロファイル 'hoge' の作成
$ firefox -headless -CreateProfile hoge

# プロファイル 'hoge' を指定して実行
$ firefox -headless -P hoge <URL>

なぜデフォルトプロファイルでは数回実行すると動作しなくなるのか,理由は不明のままですが,とりあえずこれで実験ができます.
お手数お掛けしました.ありがとうございました.

_________________
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0


通報する
ページトップ
  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 5 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: Google [Bot] & ゲスト[10人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean