首页 > 解决方案 > RUBY:Selenium webdriver,设置下载 pdf 文件而不是打开它们

问题描述

当我转到带有 pdf 的页面时,它会在查看器中打开而不是下载。

如何修复我的代码以将文件下载到指定的文件夹中?

require "selenium-webdriver"
require 'pry'

#driver = Selenium::WebDriver.for :chrome

download_prefs = {
  prompt_for_download: false,
  default_directory: 'folder/pdf_downloads'
}

plugin_prefs = {
  always_open_pdf_externally: true
}

options = Selenium::WebDriver::Chrome::Options.new
options.add_preference(:download, download_prefs)
options.add_preference(:plugins, plugin_prefs) 
driver = Selenium::WebDriver.for :chrome, options: options

# Goto Login Page (file)
url="file:///page.html"
driver.navigate.to url
element = driver.find_element(id: 'formsubmit')
element.submit

sleep 5
# Goto info page
info_url = 'https://webapp.domain.com/Secure/info'
driver.navigate.to info_url

sleep 5

# Download pdf at link
elements = driver.find_elements(css: "#ar-pdfreport a")
link = elements.first.attribute("href")
driver.navigate.to link

标签: rubyseleniumselenium-webdriverwatir

解决方案


推荐阅读