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文件而不是提示我的对话框需要手动干预?
答案 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'始终打开特定类型文件的配置文件设置。