Это мой файл
требуется 'selenium-webdriver'
driver = Selenium :: WebDriver.for: chrome
У меня естьФайл драйвера хрома селена в моем пути c:\windows\system32\chromedriver.exe
Я получил файл от https://chromedriver.storage.googleapis.com/index.html?path=73.0.3683.20/
Подобные вещи мне уже работали.
C:\blah>ruby aaa.rb
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/service.rb:78:in `stop': undefined method `poll_for_exit' for nil:NilClass (NoMethodError)
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/service.rb:67:in `block in start'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/platform.rb:141:in `block in exit_hook'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/socket_lock.rb:61:in `initialize': The requested address is not valid in its context. - bind(2
) for "127.0.0.1" port 9514 (Errno::EADDRNOTAVAIL)
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/socket_lock.rb:61:in `new'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/socket_lock.rb:61:in `can_lock?'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/socket_lock.rb:50:in `lock'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/socket_lock.rb:36:in `locked'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/service.rb:69:in `start'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/chrome/driver.rb:44:in `initialize'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/driver.rb:44:in `new'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/driver.rb:44:in `for'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver.rb:86:in `for'
from aaa.rb:4:in `<main>'
C:\blah>
Я подумал, что файл предназначен длякакая-то причина, по которой внезапно потребовалась запись, и то, что находилось в c:\windows\system32
, ограничивало его, поэтому я переместил его в c: \ abc и добавил это к пути, но все равно та же ошибка.
Ошибкаупоминает порт 9514. Я ничего не слушаю на порту 9514
C: \ Users \ user> netstat -aon |grep 9514
C: \ Users \ user>
Я также могу запустить сервер на порту 9514 и заставить его что-то прослушивать (протестировано с nc -l 9514
и netstat -aon | grep 9514
), поэтому сервер не может прослушивать порт 9514.
делает ruby -d aaa.rb
C:\rubytest\garybrown>ruby -d aaa.rb
Exception `LoadError' at C:/Ruby24-x64/lib/ruby/2.4.0/rubygems.rb:1355 - cannot load such file -- rubygems/defaults/ruby
aaa.rb:4: warning: assigned but unused variable - driver
Exception `LoadError' at C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55 - cannot load such file -- selenium-webdriver
Exception `LoadError' at C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/library.rb:259 - LoadError
Exception `LoadError' at C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/ffi-1.9.25-x64-mingw32/lib/ffi/library.rb:259 - LoadError
Using Ext extension for JSON.
Exception `Errno::EADDRNOTAVAIL' at C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/socket_lock.rb:61 - The requested address is not valid in
its context. - bind(2) for "127.0.0.1" port 9514
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/service.rb:136: warning: instance variable @process not initialized
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/service.rb:78: warning: instance variable @process not initialized
Exception `NoMethodError' at C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/service.rb:78 - undefined method `poll_for_exit' for nil:NilClass
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/service.rb:136: warning: instance variable @process not initialized
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/service.rb:78:in `stop': undefined method `poll_for_exit' for nil:NilClass (NoMethodError)
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/service.rb:67:in `block in start'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/platform.rb:141:in `block in exit_hook'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/socket_lock.rb:61:in `initialize': The requested address is not valid in its context. - bind(2
) for "127.0.0.1" port 9514 (Errno::EADDRNOTAVAIL)
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/socket_lock.rb:61:in `new'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/socket_lock.rb:61:in `can_lock?'
from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/socket_lock.rb:50:in `lock'
Я пытался gem install selenium-webdriver
, но проблема все та же
У меня Chrome версии 72 и в соответствии с http://chromedriver.chromium.org/downloads совместимой версией является ChromeDriver 2.46 или ChromeDriver 72.0.3626.69, но обе дают ту же ошибку.
Я попытался создать Gemfile с
source 'https://rubygems.org'
gem 'selenium-webdriver'
и выполнение bundle install
, но все равно ruby aaa.rb
выдает ту же ошибку