Ruby与Selenium交互以控制Firefox打开/保存对话框

时间:2017-03-22 17:21:44

标签: ruby selenium firefox dialog

Capybara.register_driver :session do |app| profile = Selenium::WebDriver::Firefox::Profile.new Capybara::Selenium::Driver.new app, :profile => profile end

我在这里添加什么来获取我的ruby脚本告诉Selenium(我在MAC OS El Capitan上运行)与Firefox打开/保存对话框进行交互,以便它自动打开PDF或DOC文件而不是提示我的对话框需要手动干预?

1 个答案:

答案 0 :(得分:0)

您无法使用带有Firefox的selenium-webdriver与“打开/保存”对话框进行交互。但是,您可以在驱动程序中设置首选项以使对话框永远不会出现,并且只会发生默认行为。像

这样的东西
Capybara.register_driver :session do |app|
  profile = Selenium::WebDriver::Firefox::Profile.new
  profile['browser.download.dir'] = "~/Downloads"
  # Adjust below to match the type of file reported
  profile['browser.helperApps.neverAsk.saveToDisk'] = "application/pdf, application/octet-stream" 
  Capybara::Selenium::Driver.new app, :profile => profile
end

应该使它始终在没有提示的情况下下载文件。您可以类似地设置' browser.helperApps.neverAsk.openFile'始终打开特定类型文件的配置文件设置。