Вчера утром я пришел в офис, чтобы узнать, что мои тесты Capybara не могут взаимодействовать с Chrome. Я вижу
Selenium::WebDriver::Error::UnknownError: unknown error: unable to discover open pages
Включение в Google показало, что это, вероятно, вызвано устаревшим chromedriver или selenium-webdriver, который звучал очень правдоподобно, поскольку ни один из них не был обновлен в течение длительного времени (я думаю, что chromedriver был в 2.2 и selenium-webdriver находилось в 2.35.1), и поскольку 14 января обновлено до версии 32.0.1700.77 от Chrome, это показалось мне хорошим доказательством.
Итак, я обновил selenium-webdriver до 2.39.0. Выяснить, какая версия chromedriver, которую я использовал, оказалась сложнее. У меня была версия chromedriver, которая сидела в моем каталоге "Загрузки", и я думал, что мой код ссылается на нее, но я не смог найти каталог "Мои загрузки" в PATH (кстати, я использую OS X). Я попытался заменить этот файл на версию 2.8 из здесь, но это не повлияло. Я скептически отнесся к тому, что версия в моем каталоге "Загрузки" была версией, которая использовалась в первую очередь, поэтому я использовал brew для ее установки. brew info chromedriver теперь дает:
chromedriver: stable 2.8
http://code.google.com/p/chromedriver/
/usr/local/Cellar/chromedriver/2.8 (2 files, 21M) *
    Built from source
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/chromedriver.rb
Выглядит хорошо. Мой PATH содержит /usr/local/bin, который имеет ссылку chromedriver к местоположению brew, установленному для. Насколько я понимаю, это должно позволить моей автоматизации обнаружить и запустить chromedriver.
К сожалению, моя проблема все еще не решена. Я остаюсь unable to discover pages. Может ли кто-нибудь подтвердить, что я сделал то, что обычно делает, чтобы настроить chromedriver?
  Боковой вопрос: После загрузки chromedriver 2.8 напрямую, а также с его установкой brew я попытался запустить как загруженную версию, так и версию brew отдельно, чтобы подтвердить, что любая версия может успешно запускаться, Я уверен, что они оба на самом деле версии 2.8, но когда я запускаю один из них, консоль говорит:
Starting ChromeDriver (v2.2) on port 9515
Это нормально? Я, конечно, не ожидал, что он скажет v2.2, но нет других версий, кроме 2.8, установленных brew (поэтому я сомневаюсь, что brew случайно использует старую версию), и когда я запускаю файл Я скачал прямо, я уверен, что это версия 2.8 с веб-сайта Chromedriver. Является ли это надзором со своей стороны или v2.2 ссылается на что-то еще, маловероятное, хотя это может показаться?
