【C#】最新FirefoxでSelenium Webdriver が動かくなった時に行ったこと


2016.9.12 時点、C#、VisualStudioでの開発中に起きた問題です
2016.9.13 過去のテストコードを一旦無視した形で、Selenium 3.0.0-beta3を使い、geckodriverを使うようにしたらFirefox48でもすんなり動きました。

環境など

・ Windows 10
・ VisualStudio Professional 2015
・ C#

症状

テスト用のURLに遷移させる際(要するにFirefox起動時)に「アドレスの書式がただしくありません」と表示され、例外で落ちる

解決方法

これらは全部ダメでした

・ Firefox最新へのアップデート (47→48.0.2)
・ Firefoxの全てのアドオンを無効化

で、結局 Firefox 46 を落としてきて FirefoxBinary を古いのに向けたら動きました。ここから探してインストールしてね

他にも解決方法はあるのかもしれないけど、あまり時間をかけてられなかったのでダウングレードするという結論にいたりました。

追記(2016.9.12)

近々 Geckodriver で解決できるかどうかも試してみます

追記(2016.9.13)

以前に書いたテストコードでは試していませんが、環境を以下のようにすると最新Firefoxでもすんなり動きました。

・Selenium 3.0.0-beta3
・geckodriver v0.10.0

ではサンプルコードです


using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;

namespace Selenium3
{
  class Program
  {
    static void Main(string[] args)
    {
      using (IWebDriver driver = new FirefoxDriver())
      {
        driver.Navigate().GoToUrl("http://webya.in");
      }
    }
  }
}

注意点

geckodriver は githubから落としてきてください。更に解凍したディレクトリにPATHを通してください

selenium 3.0.0-beta3 は 公式 から落としてプロジェクトにて参照設定に追加しておきましょう。