В качестве кратковременного исправления кажется, что вы можете исправлять функциональность обратно (протестировано с использованием Selenium-WebDriver v3.142.3):
Вам нужно будет добавить / исправить метод в Chrome :: Bridge:
require 'selenium-webdriver'
module Selenium
module WebDriver
module Chrome
module Bridge
COMMANDS = remove_const(:COMMANDS).dup
COMMANDS[:get_log] = [:post, 'session/:session_id/log']
COMMANDS.freeze
def log(type)
data = execute :get_log, {}, {type: type.to_s}
Array(data).map do |l|
begin
LogEntry.new l.fetch('level', 'UNKNOWN'), l.fetch('timestamp'), l.fetch('message')
rescue KeyError
next
end
end
end
end
end
end
end
В ваших возможностях вам нужно будет переключиться на использование "goog: loggingPrefs" вместо просто "loggingPrefs":
caps = Selenium::WebDriver::Remote::Capabilities.chrome('goog:loggingPrefs' => {browser: 'ALL'})
driver = Selenium::WebDriver.for(:chrome, desired_capabilities: caps)
driver.execute_script('console.log("test");')
puts driver.manage.logs.get(:browser)
#=> INFO 2019-06-13 21:48:03 -0400: console-api 362:34 "test"