Я попытался зарегистрировать драйвер селена для Firefox с помощью приведенного ниже фрагмента. На самом деле я хочу установить настроенный пользовательский агент, но похоже, что после запуска браузера пользовательский агент не такой, как я ожидал. Может кто-нибудь посмотреть, если что-то не так? Большое спасибо
Я запускаю это с * Геккондрайвер 0.24 * Firefox версии 67.0 * Капибара 3.18.0 * Гем Selenium WebDriver 3.142.3
Capybara.register_driver :selenium do |app|
browser = ENV['BROWSER']
browser_sym = browser.to_sym
options = {
browser: browser_sym,
}
if browser == :firefox
profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.folderList'] = 2
profile['browser.helperApps.neverAsk.saveToDisk'] = 'text/csv'
profile['dom.max_script_run_time'] = Configuration['browser']['wait_time']
profile['general.useragent.override'] = 'customized user-agent'
profile['dom.max_chrome_script_run_time'] = Configuration['browser']['wait_time']
profile['dom.max_script_run_time'] = Configuration['browser']['wait_time']
options[:profile] = profile
elsif browser == :chrome
.....
end
Capybara::Selenium::Driver.new(app, options)
Перейдите в запущенный браузер и проверьте результат возврата из консоли разработчика Firefox с помощью команды navigator.userAgent, и он возвращает значение по умолчанию, а не настроенный пользовательский агент.

Чтобы установить пользовательский агент в профиле Firefox, ваши условные выражения должны в конечном итоге разрешить что-то вроде
Capybara.register_driver :ff do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
profile['general.useragent.override'] = 'Random User Agent'
opts = Selenium::WebDriver::Firefox::Options.new(profile: profile)
Capybara::Selenium::Driver.new(app, browser: :firefox, options: opts)
end
Вы можете запустить его самостоятельно, используя код https://gist.github.com/twalpole/2f69984a5c6063aab04ea25c0aa3d2ca.