Watir Изменение настроек Mozilla Firefox - PullRequest
5 голосов
/ 03 июля 2011

Я запускаю скрипт на Ruby, используя Watir, чтобы автоматизировать некоторые вещи для меня. Я пытаюсь автоматически сохранить некоторые файлы в определенный каталог. Итак, в моих настройках Mozilla я установил каталог загрузки по умолчанию на рабочий стол и решил автоматически сохранять файлы.

Эти изменения, однако, не отражаются, когда я начинаю запускать свой скрипт. Кажется, настройки вернутся к значениям по умолчанию. Я включил следующее

require "rubygems"         # Optional.
require "watir-webdriver"  # For web automation.
require "win32ole"         # For file save dialog.

и откройте новый экземпляр Firefox с помощью:

browser = Watir::Browser.new(:firefox)

Любые идеи о том, почему предпочтения будут отброшены этим? Или какие-то альтернативные идеи для того, что я пытаюсь сделать? (Автоматически сохранять файлы).

Спасибо

Ответы [ 2 ]

7 голосов
/ 03 июля 2011

WebDriver использует чистый профиль для каждого экземпляра браузера, поэтому настройки выглядят как «сброс». Вы можете сказать ему использовать ваш профиль по умолчанию:

Watir::Browser.new :firefox, :profile => "default" 

или программные настройки профиля перед запуском браузера:

profile = Selenium::WebDriver::Firefox::Profile.new
profile['some.preference'] = true
profile.add_extension "/path/to/some/extension.xpi"

Watir::Browser.new :firefox, :profile => profile

Пример настройки автоматической загрузки файлов см. в этом разделе в Selenium wiki.

2 голосов
/ 10 марта 2013

изменить настройки Watir по умолчанию для местоположения загрузки

для Chrome

profile = Selenium::WebDriver::Chrome::Profile.new
download_dir = File.join(Rails.root, 'lib', 'assets')
profile['download.default_directory'] = download_dir
profile[download.prompt_for_download] = false
@b = Watir::Browser.new :chrome, :profile => profile

для Firefox

profile = Selenium::WebDriver::Firefox::Profile.new    
download_dir = File.join(Rails.root, 'lib', 'assets')
profile['browser.download.dir'] = download_dir
profile['browser.helperApps.neverAsk.saveToDisk'] = "text/csv,application/pdf"
@b = Watir::Browser.new. :firefox, :profile => profile

примечание: для доступа к Rails.rootПапка / lib легко из вашего приложения rails, вам нужно добавить этот код или что-то подобное в файл config / application.rb:

config.autoload_paths += Dir["#{config.root}/lib/**/"]

для получения дополнительной информации: http://watirwebdriver.com/browser-downloads/

...