Кажется, существует проблема с ghostdriver в phantomjs, когда при сбое HTTP-вызова после нажатия кнопки происходит сбой всего.
https://github.com/detro/ghostdriver/issues/202#issuecomment-19808784
Проблема исправлена и находится в основной ветке. Даны инструкции о том, как ссылаться на новые файлы и не использовать драйвер-призрак, включенный в фантомные файлы.
Java находится здесь: https://github.com/detro/ghostdriver/issues/243
и, кажется, есть значение
PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY
но этого нет в С#
так что пробовал
var opts = new PhantomJSOptions();
opts.AddAdditionalCapability("phantomjs.ghostdriver.path.property", "c:\\path\\src\\main.js");
но не идет, вывод в фантомах по-прежнему показывает старую версию
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");
хоть и теплее.....