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