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



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 文件,而不是提示我需要手动干预的对话框?

您无法在 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"配置文件设置,以便始终打开特定类型的文件。

最新更新