«Chrome не удалось запустить» определенный watir-webdriver? Проблема (установлен chromedriver)

#ruby #google-chrome #selenium #ubuntu #watir-webdriver

#ruby #google-chrome #селен #ubuntu #watir-webdriver

Вопрос:

Я запускаю свой скрипт Ruby

 require 'watir-webdriver'

b = Watir::Browser.new :chrome #<--- OFFENDING LINE
 

Он останавливается в терминале, и я получаю это сообщение об ошибке примерно через 25 секунд:

https://gist.github.com/anonymous/8939d7cd5bf39b7e7a36240b614985bc

Кроме того, при запуске google-chrome с терминала я получаю это сообщение об ошибке:

[22016:22016:1017/135305:ERROR:browser_main_loop.cc(260)] Gtk: cannot open display:

И когда я запускаю xhost , я получаю xhost: unable to open display ""


Системная информация:

Я полагаю, что я установил Chrome, однако я не уверен, но эти строки были выполнены:

sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'

sudo apt-get install google-chrome-stable

chromedriver установлен и находится в /usr/local/bin и был установлен с помощью следующих командных строк:

wget -O /tmp/chromedriver.zip http://chromedriver.storage.googleapis.com/2.9/chromedriver_linux64.zip amp;amp; sudo unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/;

watir-webdriver (0.9.3) отображается в моем списке драгоценных камней

ruby -v ВОЗВРАТ ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-linux]


Вопрос:

Почему я получаю эту ошибку и как я могу ее исправить?


Я могу предоставить более подробную информацию, если потребуется.

Ответ №1:

Chromedriver 2.9 очень старый. Вы хотите Chromedriver 2.24 прямо сейчас. https://sites.google.com/a/chromium.org/chromedriver/downloads

Похоже, что Chromedriver не может получить доступ к экземпляру Chrome. Вот пример того, как команда Watir делает это через командную строку: https://github.com/watir/watir/blob/master/support/travis.sh#L13-L28

Комментарии:

1. Я попробую это, но у меня сложилось впечатление, что мой сервер работает без графического интерфейса и поэтому не может открыть этот графический браузер; однако недавно я прочитал в Hacker News, что Google разрабатывает браузер без графического интерфейса. Смотрите здесь .

2. Да, я установил 2.24 и получил ту же ошибку в операционной системе.

3. Ошибка в сути говорит о Chromedriver 2.9. Если вы все еще получаете эту ошибку после установки 2.24, выполните команду «какой chromedriver», чтобы узнать, где он использует старую версию, и обновите ее.

4. Я выполняю rvm use ruby 2.0 ; ruby /lib/form_connect.rb , затем Using /usr/local/rvm/gems/ruby-2.0.0-p648 появляется зеленый цвет, курсор останавливается на ~ 30 секунд, затем появляется эта ошибка: /usr/local/rvm/rubies/ruby-2.0.0-p648/lib/ruby/2.0.0/net/protocol.rb:158:in rescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)

5. Я знаю, я все еще получаю ту же ошибку , но с другой указанной версией. На самом деле, сегодня ошибка другая: /lib/ruby/2.0.0/net/protocol.rb:158:in rescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout) . Запуск chromedriver -v возвращает ChromeDriver 2.24.417424