无法使用Watir-Webdriver在Firefox中设置下载目录路径

时间:2017-03-20 16:03:20

标签: ruby selenium selenium-webdriver watir-webdriver geckodriver

使用

时无法设置自定义下载目录路径
Selenium Webdriver 3.3.0
Watir-Webdriver 0.9.9
Firefox 52 , geckodriver 0.15
Windows 7, Ruby 2.1.9

代码看起来像这样。

EXPORTS_DIR = 'exports'
EXPORTS_PATH_BROWSER = File.realpath(EXPORTS_DIR)

firefox_profile = Selenium::WebDriver::Firefox::Profile.new
firefox_profile['browser.download.dir'] = EXPORTS_PATH_BROWSER
firefox_profile['browser.download.animateNotifications'] = false
firefox_profile['browser.download.panel.shown'] = false
firefox_profile['browser.download.useDownloadDir'] = true

FIREFOX_CAPS = Selenium::WebDriver::Remote::Capabilities.firefox(
    firefoxOptions: {
        args:  ['--always-authorize-plugins'],
        prefs: firefox_profile
    }
)

browser = Watir::Browser.new( firefox:, desired_capabilities: FIREFOX_CAPS)

我得到Dialog来保存/打开文件,这是我不想要的,文件没有下载。 所以有2个问题

  1. 不应出现文件对话框
  2. 文件应该下载到给定的' exports'目录。

1 个答案:

答案 0 :(得分:0)

除了提到要用于下载的文件夹之外,您还需要告诉Firefox它需要使用自定义下载位置。你可以使用下面的代码: -

profile['browser.download.folderList'] = 2
profile['browser.download.dir'] = download_dir