如何将文件下载到watir的.click上的特定位置?

时间:2013-08-02 06:24:55

标签: ruby webdriver watir-webdriver selenium-chromedriver

点击带有ruby watir的Chrome网页浏览器中的网页链接

ie.input(:id, "c_ImageButton_Text").click

.text文件开始下载。我想将它下载到一个特定的位置。我尝试了这段代码,但仍然在默认下载位置获取.text文件。如何将.text文件下载到特定位置?

download_directory = "#{Dir.pwd}/downloads"
download_directory.gsub!("/", "\\") if  Selenium::WebDriver::Platform.windows?

profile = Selenium::WebDriver::Chrome::Profile.new
profile['download.prompt_for_download'] = false
profile['download.default_directory'] = download_directory

b = Watir::Browser.new :chrome, :profile => profile

click here for this code

2 个答案:

答案 0 :(得分:2)

最新的watir版本6.6.1

  prefs = {
    prompt_for_download: false,
    default_directory: Rails.root.join('tmp').to_s
  }
  options = Selenium::WebDriver::Chrome::Options.new
  options.add_preference(:download, prefs)
  browser = Watir::Browser.new :chrome, options: options

答案 1 :(得分:0)

正如那句老话:“皮肤猫不止一种方法”:

您当然可以尝试按照您在示例代码中尝试的方式对其进行换肤。但是,这一行动方案存在许多问题。即,它是浏览器特定的。

我真的很喜欢Elemental Selenium建议如何通过使用rest-client gem来curl文件的URI来实现有效的测试和断言下载文件,并从那里断言文件的期望:{{3 }}