Вчера утром я пришел в офис, чтобы узнать, что мои тесты 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
ссылается на что-то еще, маловероятное, хотя это может показаться?