Сохранение файлового диалога / запроса с Watir в Ruby - PullRequest
1 голос
/ 03 июля 2011

Я использую Watir для выполнения некоторых действий на веб-сайте и, в конечном итоге, выдает подсказку для сохранения какого-либо файла. Что я хотел бы сделать, так это автоматически выполнить подсказку и автоматически сохранить файл.

Из того, что я видел, использование win32ole имеет некоторые функции для выполнения этих действий. Я успешно установил гем через

gem install win32ole-pp

и требование win32ole не доставляет проблем. Однако, когда я звоню, говорите

ai = WIN32OLE.new("AutoItX3.Control")

Я получаю сообщение об ошибке:

unknown OLE server: `AutoItX3.Control'

Существует предлагаемое решение этой проблемы здесь , однако рассматриваемый DLL-файл не находится в соответствующей папке.

Итак, мне просто интересно, есть ли другой способ сделать это в Watir? Или существует другое решение проблемы, с которой я сталкиваюсь?

Спасибо.

1 Ответ

0 голосов
/ 03 ноября 2015

Я решил эту проблему с помощью watir и firefox. Firefox имеет возможность автоматически сохранять целевые типы файлов, в зависимости от их MIME, без запроса в параметризованной папке. Watir имеет доступ к параметрам Firefox и может изменять их:

downloadDir = "your-dl-dir"
profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.dir'] = downloadDir
profile['browser.download.folderList'] = 2
profile['browser.helperApps.neverAsk.saveToDisk'] = 'images/jpeg, application/pdf, application/octet-stream'
browser = Watir::Browser.new(:firefox, :profile => profile)

источник: http://elementalselenium.com/tips/2-download-a-file

...