我正在尝试让Capybara会话自动将下载的文件保存在Firefox中,而不显示打开/保存对话框。
这是我的测试代码:
require 'capybara/dsl'
require 'selenium-webdriver'
cb = Capybara
cb.register_driver :my_firefox_driver do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.dir'] = "~/Downloads"
profile['browser.download.folderList'] = 2
profile['browser.helperApps.alwaysAsk.force'] = false
profile['browser.download.manager.showWhenStarting'] = false
profile['browser.helperApps.neverAsk.saveToDisk'] = "text/csv"
profile['csvjs.disabled'] = true
Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
end
cb.current_driver = :my_firefox_driver
# just to check that we are reaching the correct URL
cb.visit "https://www.google.com/finance/historical?q=NYSE:IBM&startdate=Jan+1%2C+1980&enddate=Sep+18%2C+2014&num=30"
sleep(3)
# attempt a CSV download
cb.visit "https://www.google.com/finance/historical?q=NYSE:IBM&startdate=Jan+1%2C+1980&enddate=Sep+18%2C+2014&output=csv"
sleep(15)
Firefox版本为30.我尝试了各种配置文件设置以及多种MIME类型,但无济于事。
提前感谢任何建议或解决方案。