Почему я не могу подключиться к /usr/bin/chromedriver 127.0.0.1:9515?

#ruby #selenium-chromedriver

#рубин #селен #селен-хромированный привод

Вопрос:

Я работаю над своим проектом, где мне нужно нажать кнопку с помощью Селена. Но когда я запускаю его, он выдает мне эту ошибку

 /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/service_manager.rb:139:in `connect_until_stable': unable to connect to /usr/bin/chromedriver 127.0.0.1:9515 (Selenium::WebDriver::Error::WebDriverError) from /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/service_manager.rb:57:in `block in start' from /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/socket_lock.rb:41:in `locked' from /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/service_manager.rb:54:in `start' from /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/service.rb:84:in `launch' from /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/driver.rb:374:in `service_url' from /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/driver.rb:311:in `create_bridge' from /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/driver.rb:74:in `initialize' from /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/driver.rb:47:in `new' from /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/driver.rb:47:in `for' from /home/yarikhrom/.rvm/gems/ruby-3.0.2/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver.rb:88:in `for' from test.rb:3:in `lt;maingt;' 

Код:

 require 'selenium-webdriver'driver = Selenium::WebDriver.for:chromedriver.get "https://www.google.com/"driver.find_element(:xpath, '/html/body/div[1]/div[3]/form/div[1]/div[1]/div[3]/center/input[2]').click 

Как я могу это исправить? Я обнаружил, что могут возникнуть некоторые проблемы с зависимостями от Google, но я явно не понимаю, как это изменить

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

1. Где код?

2. Добавлено, нажав кнопку на www.google.com

3. Успешно ли запускается браузер Chrome, инициированный ChromeDriver?

4. Как это проверить?

Ответ №1:

Два очка с моей стороны.

Во-первых, проверьте chromedriver.exe , существует ли в c:ruby30bin , если вы используете другую версию ruby, то вы найдете ruby соответственно, например ruby26 ruby 27 и т. Д.

Вы выглядите так, словно используете операционную систему Linux, а? Если да, проверьте, находится ли chromedriver.exe он на правильном пути.

Второй выход,

 driver.find_element(:xpath, '/html/body/div[1]/div[3]/form/div[1]/div[1]/div[3]/center/input[2]').click 

это старый стиль, сейчас он не работает.

Используйте этот код

 driver.find_element(xpath: '/html/body/div[1]/div[3]/form/div[1]/div[1]/div[3]/center/input[2]').click 

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

1. Да, я использую Ubuntu 20.04 (если я правильно помню). Я искал chromedriver.exe в моем WSL, но ничего не нашел. Как его правильно установить и в каком каталоге?

2. Я не знаю, как это сделать в Linux, но в вашем сообщении об ошибке говорится, что он ищет здесь usr/bin/chromedriver , поэтому попробуйте найти его там.

3. Да, я нашел файл с именем chromedriver в usr/bin. Что я должен с этим делать?

4. Тогда я не знаю, должно ли это сработать. Данный вами код работает для меня в Windows.