ボタンをクリックした後に HTTP 呼び出しが失敗すると、すべてが失敗するという、phantomjs のゴーストドライバーに問題があるようです。
https://github.com/detro/ghostdriver/issues/202#issuecomment-19808784
この問題は修正され、メインブランチにあります。新しいファイルを参照し、phantomjs に含まれているゴーストドライバーを使用しない方法について説明します。
Java はこちら: https://github.com/detro/ghostdriver/issues/243
そして価値があるように見える
PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY
しかし、それはC#には存在しません
だから試した
var opts = new PhantomJSOptions();
opts.AddAdditionalCapability("phantomjs.ghostdriver.path.property", "c:\\path\\src\\main.js");
しかし、行きません。phantomjs の出力にはまだ古いバージョンが表示されます
EDIT1:これは、設定できるphantomJSへのパスとは異なります
PhantomJSDriverService.CreateDefaultService("c:\path\to\phantomjs.exe")
phantomjs 自体に含まれている Ghostdriver ではなく、Ghostdriver のローカル バージョンを使用するように phantomjs に指示しようとしています。
EDIT2:ここでJavaコードファイルを掘り下げます https://github.com/detro/ghostdriver/blob/master/binding/java/src/main/java/org/openqa/selenium/phantomjs/PhantomJSDriverService.java
Java 静的文字列を設定するコードを見つけました
public static final String PHANTOMJS_GHOSTDRIVER_PATH_PROPERTY = "phantomjs.ghostdriver.path";
これは、上記で間違って設定していたことを意味しますが、修正しても機能しません
var opts = new PhantomJSOptions();
opts.AddAdditionalCapability("phantomjs.ghostdriver.path", "c:\\path\\src\\main.js");
暖かくなってきましたが……。