Watir 如何在firefox中设置下载文件夹

Watir 如何在firefox中设置下载文件夹,watir,Watir,正如所给 我设置了下载文件夹,如下所示 profile = Selenium::WebDriver::Firefox::Profile.new profile['browser.download.dir'] = File.expand_path("../../../A/Downloads", __FILE__) 但它给了我这样的警告信息 2018-12-23 20:04:23 WARN Selenium [DEPRECATION] :profile is deprecated. Use Sel

正如所给

我设置了下载文件夹,如下所示

profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.dir'] = File.expand_path("../../../A/Downloads", __FILE__)
但它给了我这样的警告信息

2018-12-23 20:04:23 WARN Selenium [DEPRECATION] :profile is deprecated. Use Selenium::WebDriver::Firefox::Options#profile= instead.
那么,有人能告诉我,为firefox设置下载文件夹的正确方法是什么吗

实际上,这也是我在程序中使用的默认配置文件的另一行

options = Selenium::WebDriver::Firefox::Options.new
options.profile = "default"

对于Windows,您需要规范化路径(检查下面的代码,gsub-第003:0行)。 此外,为了不出现下载弹出窗口,您需要添加一些配置文件设置(请参见下文)

另外,为了使它更清晰,我建议将路径位置取出到一个单独的变量中

C:\Users\Sve>irb
irb(main):001:0> require "watir"
=> true
irb(main):002:0>
irb(main):003:0> custom_download_dir = File.expand_path("../../../A/Downloads", __FILE__).gsub('/', '\\')
=> "C:\\A\\Downloads"
irb(main):004:0> Dir.entries(custom_download_dir) # => [".", ".."]
=> [".", ".."]
irb(main):005:0> profile = Selenium::WebDriver::Firefox::Profile.new
=> #<Selenium::WebDriver::Firefox::Profile:0x00000000039ff058 @model=nil, @native_events=true, @secure_ssl=false, @untrusted_issuer=true, @load_no_focus_lib=false, @additional_prefs={}, @extensions={}>
irb(main):006:0> profile['browser.download.dir'] = custom_download_dir
=> "C:\\A\\Downloads"
irb(main):007:0> profile['browser.helperApps.neverAsk.saveToDisk'] = "text/csv,application/pdf,image/jpeg"
=> "text/csv,application/pdf,image/jpeg"
irb(main):008:0> profile['browser.download.manager.showWhenStarting'] = "false"
=> "false"
irb(main):009:0> profile['browser.download.panel.shown'] = "false"
=> "false"
irb(main):010:0> profile['browser.download.folderList'] = 2
=> 2
irb(main):011:0>
irb(main):012:0> b = Watir::Browser.new :firefox, :profile => profile
=> #<Watir::Browser:0x50b784c8 url="about:blank" title="">
irb(main):013:0> b.goto "https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_a_download2"
=> "https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_a_download2"
irb(main):014:0> b.iframe(:id => "iframeResult").as.each {|x| puts x.href }
https://www.w3schools.com/images/myw3schoolsimage.jpg
=> [#<Watir::Anchor: located: true; {:id=>"iframeResult", :tag_name=>"iframe"} --> {:tag_name=>"a"}>]
irb(main):015:0> b.iframe(:id => "iframeResult").a.click
=> nil
irb(main):016:0> Dir.entries(custom_download_dir) # => [".", "..", "w3logo"]
=> [".", "..", "w3logo"]
irb(main):017:0>
C:\Users\Sve>irb
irb(主):001:0>要求“水”
=>正确
irb(主要):002:0>
irb(main):003:0>自定义\u下载\u dir=File.expand\u路径(“../../../A/Downloads“,\uu文件\uuuu).gsub(“/”,“\\”)
=>“C:\\A\\Downloads”
irb(主):004:0>目录条目(自定义下载目录)#=>[“,”]
=> [".", ".."]
irb(main):005:0>profile=Selenium::WebDriver::Firefox::profile.new
=> #
irb(main):006:0>profile['browser.download.dir']=自定义下载目录
=>“C:\\A\\Downloads”
irb(主):007:0>profile['browser.helperApps.neverAsk.saveToDisk']=“text/csv、application/pdf、image/jpeg”
=>“文本/csv、应用程序/pdf、图像/jpeg”
irb(主):008:0>profile['browser.download.manager.showWhenStarting']=“false”
=>“假”
irb(主):009:0>profile['browser.download.panel.show']=“false”
=>“假”
irb(主):010:0>profile['browser.download.folderList']=2
=> 2
irb(主要):011:0>
irb(main):012:0>b=Watir::Browser.new:firefox,:profile=>profile
=> #
irb(主):013:0>b.goto“https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_a_download2"
=> "https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_a_download2"
irb(main):014:0>b.iframe(:id=>“iframesult”).as.each{x|put x.href}
https://www.w3schools.com/images/myw3schoolsimage.jpg
=>[#“iframeResult”,:tag_name=>“iframe”}-->{:tag_name=>“a”}>]
irb(main):015:0>b.iframe(:id=>“iframesult”)。a.单击
=>零
irb(主):016:0>目录条目(自定义下载目录)#=>[“,”,“w3logo”]
=>[“,”,“w3logo”]
irb(主要):017:0>

您好,谢谢您的回答,我会检查并让您知道!它为我工作,让我知道如果你遇到任何问题与上述代码:)嗨,抱歉迟到我的应用程序,这部分已经被关闭这么晚,无论如何我会接受你的现在。