windows7で、webdriver-seleniumのgemを2.53.1にバージョンアップすると
Selenium::WebDriver::Error::WebDriverError: Unable to find the chromedriver executable
とのエラーが出るように。
PATHの確認
今まで動いていたので問題なし
ソースの確認
lib/selenium/webdriver/common/platform.rb
def find_binary(*binary_names)
paths = ENV['PATH'].split(File::PATH_SEPARATOR)
binary_names.map! { |n| "#{n}.exe" } if windows?
binary_names.each do |binary_name|
paths.each do |path|
exe = Dir.glob(File.join(path, binary_name)).first
next unless exe
return exe if File.executable?(exe)
end
end
nil
end
以前は、環境変数のPATHをたどったとこに、ちゃんとファイルがあるかどうかを確認してなかったのですが、
今回のバージョンでは、ちゃんと確認している。
exe = Dir.glob(File.join(path, binary_name)).first
next unless exe
これが原因で、私のケースでは、PATHをC:¥webdriver_pathのようにしてたため、C:¥webdriver_path/chromedriver.exeのように、¥とスラッシュが混在していたためか、globで取得してくれませんでした。
解決法
環境変数にて、webdriverのPATHを¥からスラッシュ(/)に変更しました。