うまく指定のURLへ遷移せずに、Firefoxが空白のままで止まってしまう。

1,536 views
Skip to first unread message

なかねひろし

unread,
Apr 14, 2016, 10:21:29 AM4/14/16
to 日本Seleniumユーザーコミュニティ
環境によって、動作したりしなかったりするので、困っております。

C#
//FireFox Driver初期化
m_Driver
= new FirefoxDriver();
m_Driver
.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(55000));    //暗黙的な待機時間を設定(ミリ秒)(1000ms=1s)


// Go to the DEMO page
m_Driver
.Navigate().GoToUrl("http://hogehoge.jp/");

単純に、firefoxを開いて指定のURLを表示させるだけなのですが、
うまく指定のURLへ遷移せずに、Firefoxが空白のままで止まってしまうケースがあります。

正常に動作している環境としては、
Windows7
Firefox 45.0.2

正常に動作していない環境としては、
Windows8
Firefox 45.0.2

対処方法をご教授のほど、お願いいたします。

伊藤望

unread,
Apr 14, 2016, 11:33:35 PM4/14/16
to 日本Seleniumユーザーコミュニティ
Seleniumのバージョンはいくつでしょうか?

私もWindows10 +Firefox45.0.1で、
Seleniumを最新にしないと動作しなかったので、
Windows8+Firefox45.0.2でもSeleniumが古いとダメかもしれません。

https://github.com/SeleniumHQ/selenium/issues/1851

2016年4月14日木曜日 23時21分29秒 UTC+9 なかねひろし:

なかねひろし

unread,
Apr 15, 2016, 12:20:13 AM4/15/16
to 日本Seleniumユーザーコミュニティ
Seleniumは最新版を使っております。

以上、よろしくお願いいたします。

伊藤望

unread,
Apr 19, 2016, 6:17:26 AM4/19/16
to 日本Seleniumユーザーコミュニティ
伊藤です。

JavaですがFirefox45.0.2でも私の手元で動かせたので、
FirefoxやSeleniumのバージョンはあまり関係なさそうですね。。

あまりお役に立てそうにないですが、
コンソールに何かエラーメッセージが出るのではないかと思うので、
それを投稿していただけると何か分かるかもしれません。


2016年4月15日金曜日 13時20分13秒 UTC+9 なかねひろし:
Seleniumは最新版を使っております。

以上、よろしくお願いいたします。

なかねひろし

unread,
Apr 19, 2016, 7:20:57 AM4/19/16
to 日本Seleniumユーザーコミュニティ
自己解決しました。

どうやらWindowsのアカウントに全角文字が含まれているのが、悪さしていたようです。

新規に、ローカルアカウントを作成(半角英数字)して、実行したところ、問題なく動作しました。

以上、よろしくお願いいたします。


2016年4月19日火曜日 19時17分26秒 UTC+9 伊藤望:

なかねひろし

unread,
Apr 19, 2016, 8:24:39 AM4/19/16
to 日本Seleniumユーザーコミュニティ
また質問させてください。

今回の原因の全角文字が含まれるアカウントでも動作できる対策は、
何かあるのでしょうか?

以上、よろしくお願いいたします。


2016年4月19日火曜日 20時20分57秒 UTC+9 なかねひろし:

伊藤望

unread,
Apr 19, 2016, 10:54:12 AM4/19/16
to 日本Seleniumユーザーコミュニティ
とりあえず動いたようでよかったです。

Seleniumのバグのようですが、初めて知りました。

対策は正直分かりませんが、
よかったらエラーコンソールに出ているスタックトレースを見せてもらえないでしょうか。

そうすればSelenium内のどの箇所にバグがあるかくらいは分かると思います。

2016年4月19日火曜日 21時24分39秒 UTC+9 なかねひろし:

なかねひろし

unread,
Apr 19, 2016, 10:57:25 AM4/19/16
to 日本Seleniumユーザーコミュニティ
エラーコンソールに出ているスタックトレースを見せてもらえないでしょうか。
→すみません、よくわからないのですが、このスタックトレースというのは、どのようにしたら見れるのでしょうか?



2016年4月19日火曜日 23時54分12秒 UTC+9 伊藤望:

伊藤望

unread,
Apr 19, 2016, 11:06:14 AM4/19/16
to 日本Seleniumユーザーコミュニティ
Visual Studioの「出力」ウィンドウあたりに、
Seleniumのログ情報や、
Seleniumがエラーになった時のエラー行情報(これがスタックトレース)が出ていないかと思ったのですが。

それとも特にエラーなどは出てないでしょうか?
(その場合、全角アカウントが原因というのは、どのようにして突き止めたのでしょうか..?)


2016年4月19日火曜日 23時57分25秒 UTC+9 なかねひろし:

なかねひろし

unread,
Apr 19, 2016, 11:07:48 AM4/19/16
to 日本Seleniumユーザーコミュニティ
特にエラーは発生していませんでした。

全角アカウントが怪しいと仮説を立て、実施してみたら、「ビンゴ」でした。


2016年4月20日水曜日 0時06分14秒 UTC+9 伊藤望:

伊藤望

unread,
Apr 21, 2016, 5:09:25 AM4/21/16
to 日本Seleniumユーザーコミュニティ
調べてみたら、以前にこのフォーラムで全く同様の投稿がありました。。
そちらの投稿にはログが添付されていたので、ちょっと見てみました。

FirefoxDriverは一時ディレクトリにWebDriverの一時アドオンを生成するのですが、
一時ディレクトリ生成にC#のPath.GetTempPathという関数を使っていて、
「C:\Users\漢字\AppData\Local\Temp」
のような一時ディレクトリが使用されてしまうようです。

によればTEMP環境変数を変えるなどすればこのディレクトリは変更できるそうです。
これをいじれば全角アカウントでも動く気がするので、よかったら試してみてください。
(既存プロファイルをどこかに作ってCapabilityでそれを参照という方法もできそうですが、
それはあまりお勧めしません)

- ちなみにJavaの場合もjava.io.tmpdirシステムプロパティを変更すればいけそうな気がします。
- 漢字でもエラーにならないようにするにはFirefoxの方にパッチを送る必要がありそうで、色々辛そうです。

------------------------------------------------------
以前の投稿(エラーログあり):

WebDriver C#ライブラリの一時プロファイル生成ロジック:

WebDriver Javaライブラリの一時ディレクトリ生成ロジックっぽいもの:

日本語の一時アドオンディレクトリをエラーにしているっぽいFirefoxのロジック:
Reply all
Reply to author
Forward
0 new messages