Firefox 4 с watir webdriver: нужна помощь при использовании helperApps.neverAsk для сохранения CSV без запроса - PullRequest
4 голосов
/ 29 марта 2011

Я научился использовать Firefox 4 с watir и webdriver (на Win7 x64), настраивая элементы профиля. Пример:

profile = Selenium::WebDriver::Firefox::Profile.new
profile["browser.download.useDownloadDir"] = true
profile["browser.download.dir"] = 'D:\\FirefoxDownloads'
profile["browser.helperApps.neverAsk.saveToDisk"] = "application/csv"
driver = Selenium::WebDriver.for :firefox, :profile => profile
browser = Watir::Browser.new(driver)

То, что я пытаюсь сделать с приведенным ниже примером, - это настройка файлов CSV, которые будут всегда загружаться в определенный каталог, никогда не открываться. Приведенный выше код успешно устанавливает все файлы, автоматически загружаемые в указанный каталог, но установка browser.helperApps.neverAsk.saveToDisk не имеет никакого эффекта: я все еще получаю вопрос открытия / сохранения. После запуска сценария окно Firefox все еще открыто, и я ввожу URL-адрес о: config. Я вижу, что browser.helperApps.neverAsk.saveToDisk был правильно установлен на application.csv, но в Firefox / Options / Options / Applications я не вижу записи для файлов CSV. Похоже, что действительно эффективная настройка меню не связана с настройкой about: config. Что я делаю не так?

Ответы [ 2 ]

11 голосов
/ 10 апреля 2011

Я провел для вас некоторое тестирование, к сожалению, стандартного типа контента для файлов CSV, похоже, нет.Вы можете попробовать передать список типов содержимого через запятую, надеюсь, один из них вам подойдет.Для меня это было приложение / октет-поток, который добился цели ...

require 'watir-webdriver'
require 'selenium-webdriver'

profile = Selenium::WebDriver::Firefox::Profile.new
profile["browser.download.useDownloadDir"] = true
profile["browser.download.dir"] = '/tmp'
profile["browser.helperApps.neverAsk.saveToDisk"] = "text/plain, application/vnd.ms-excel, text/csv, text/comma-separated-values, application/octet-stream"
driver = Selenium::WebDriver.for :firefox, :profile => profile
browser = Watir::Browser.new(driver)

browser.goto "http://altentee.com/test/test.csv"
4 голосов
/ 24 августа 2011

В Firefox 6+ я не мог заставить это работать без специальной установки значения 'browser.download.folderList':

profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.folderList'] = 2 #custom location
profile['browser.download.dir'] = download_directory
profile['browser.helperApps.neverAsk.saveToDisk'] = "text/csv, application/csv"
b = Watir::Browser.new :firefox, :profile => profile

См .: http://watirwebdriver.com/browser-downloads/

...