Capybara + Selenium + Firefox + Rails не может автоматически сохранять файл - PullRequest
0 голосов
/ 29 мая 2018

У меня проблема, я пытаюсь настроить автоматическое сохранение для моего веб-сканера. Я использую Capybara + Selenium + Ruby + Firefox.Пожалуйста, посмотрите мой код ниже:

Capybara.register_driver :selenium do |app|
  profile = Selenium::WebDriver::Firefox::Profile.new
  profile['browser.download.folderList'] = 2
  profile['browser.download.dir'] = "~/Downloads" 
  profile['browser.helperApps.alwaysAsk.force'] = false
  profile['browser.download.manager.showWhenStarting'] = false
  profile['browser.helperApps.neverAsk.openFile'] = "application/x-pdf, 
  application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf, 
  application/vnd.cups-pdf"
  profile['browser.helperApps.neverAsk.saveToDisk'] = "application/x-pdf, 
  application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf, 
  application/vnd.cups-pdf"
  profile["pdfjs.disabled"] = true
  profile["browser.download.useDownloadDir"] = true
  profile["plugin.scan.plid.all"] = false
  profile["plugin.scan.Acrobat"] = "99.0"
  profile.native_events = true

  options = Selenium::WebDriver::Firefox::Options.new(profile: profile)      
  Capybara::Selenium::Driver.new(app, browser: :firefox, options: options)
end

Capybara.javascript_driver = :firefox
Capybara.configure do |config|  
  config.default_max_wait_time = 1000000
  config.default_driver = :selenium
end

Но, похоже, это не работает

Нажмите здесь, чтобы увидеть изображение

Помогите мне!Большое вам спасибо!

1 Ответ

0 голосов
/ 29 мая 2018

Сложно сказать, потому что вы не показываете, как вы создаете фактический сеанс, используемый в вашем приложении, но вы устанавливаете javascript_driver в: firefox при настройке профиля в драйвере с именем: selenium.Если вы на самом деле используете javascript_driver (: firefox) в своем сеансе, то профиль не будет использоваться.

Кроме того, установка browser.helperApps.neverAsk.openFile и browser.helperApps.neverAsk.saveToDisk для тех же типов MIME кажется, что онипротиворечивые варианты.

...