Как подтвердить, что я использую правый хромированный рекордер?

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

Ответ 1

Было бы сложно часто проверять версию драйвера Chrome, когда вы загружаете его с homebrew. Я бы посоветовал скачать драйвер и сохранить его в папке, отображенной в вашем PATH.

Чтобы поддерживать или идентифицировать версию драйвера будет легко с помощью следующих шагов:

  1. Перейдите в папку, где у вас есть ChromeDriver
  2. Откройте командную строку, указав папку
  3. запустить: chromeDriver -v

Ответ 2

ChromeDriver теперь в версии 2.16. Я бы рекомендовал вручную обновить ваш драйвер вместо обновления с любой старой версией, которую homebrew хочет вам обновить.

Ответ 3

Вы можете использовать командную строку: pip freeze, чтобы просмотреть список всех пакетов, которые вы установили, с их версией. Или вы также можете использовать pip show <package name> для проверки деталей пакета, который также включает версию пакета.

Ответ 4


NameError Traceback (последний вызов был последним) в 1 # HTML-объекте → 2 html = browser.html 3 4 # Разбор HTML с Beautiful Soup 5 soup = BeautifulSoup (html, 'html.parser')

NameError: имя 'browser' не определено