Selenium-webdriver系列教程(17)————为firefox设置下载文件的保存目录

来源:互联网 发布:unity3d 2d动画 编辑:程序博客网 时间:2024/05/22 13:28
Firefox为我们提供了非常丰富的配置功能,下面的代码就实现了配置下载目录的功能。
Ruby代码  收藏代码
  1. profile = Selenium::WebDriver::Firefox::Profile.new  
  2. profile['browser.download.dir'] = "/tmp/webdriver-downloads"  
  3. profile['browser.download.folderList'] = 2  
  4. profile['browser.helperApps.neverAsk.saveToDisk'] = "application/pdf"  
  5.   
  6. driver = Selenium::WebDriver.for :firefox:profile => profile  

通过这段代码,在测试进行时,firefox会将pdf文件下载到我们设置的目录中去。

不过如下是属性是不允许用户进行配置的:
Ruby代码  收藏代码
  1. FROZEN_PREFERENCES = {  
  2.   "app.update.auto"                           => 'false',  
  3.   "app.update.enabled"                        => 'false',  
  4.   "browser.download.manager.showWhenStarting" => 'false',  
  5.   "browser.EULA.override"                     => 'true',  
  6.   "browser.EULA.3.accepted"                   => 'true',  
  7.   "browser.link.open_external"                => '2',  
  8.   "browser.link.open_newwindow"               => '2',  
  9.   "browser.safebrowsing.enabled"              => 'false',  
  10.   "browser.safebrowsing.malware.enabled"      => 'false',  
  11.   "browser.search.update"                     => 'false',  
  12.   "browser.sessionstore.resume_from_crash"    => 'false',  
  13.   "browser.shell.checkDefaultBrowser"         => 'false',  
  14.   "browser.tabs.warnOnClose"                  => 'false',  
  15.   "browser.tabs.warnOnOpen"                   => 'false',  
  16.   "devtools.errorconsole.enabled"             => 'true',  
  17.   "dom.disable_open_during_load"              => 'false',  
  18.   "extensions.logging.enabled"                => 'true',  
  19.   "extensions.update.enabled"                 => 'false',  
  20.   "extensions.update.notifyUser"              => 'false',  
  21.   "network.manage-offline-status"             => 'false',  
  22.   "network.http.phishy-userpass-length"       => '255',  
  23.   "network.http.max-connections-per-server"   => '10',  
  24.   "prompts.tab_modal.enabled"                 => "false",  
  25.   "security.warn_entering_secure"             => 'false',  
  26.   "security.warn_submit_insecure"             => 'false',  
  27.   "security.warn_entering_secure.show_once"   => 'false',  
  28.   "security.warn_entering_weak"               => 'false',  
  29.   "security.warn_entering_weak.show_once"     => 'false',  
  30.   "security.warn_leaving_secure"              => 'false',  
  31.   "security.warn_leaving_secure.show_once"    => 'false',  
  32.   "security.warn_submit_insecure"             => 'false',  
  33.   "security.warn_viewing_mixed"               => 'false',  
  34.   "security.warn_viewing_mixed.show_once"     => 'false',  
  35.   "signon.rememberSignons"                    => 'false',  
  36.   "toolkit.networkmanager.disable"            => 'true',  
  37.   "javascript.options.showInConsole"          => 'true',  
  38.   "browser.dom.window.dump.enabled"           => 'true',  
  39.   "dom.report_all_js_exceptions"              => "true"  
  40. }.freeze 
0 0