0

当我使用 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

单击此处获取此代码

4

2 回答 2

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
于 2017-08-08T16:37:44.120 回答
0

俗话说,“剥猫皮的方法不止一种”:

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

我真的很喜欢 Elemental Selenium 如何建议通过使用rest-clientgem 到curl文件的 URI 来实现有效的测试和断言下载文件,并从那里断言文件的期望:http: //elemental-selenium.com/tips/8-download-文件重访

于 2013-08-13T04:17:58.917 回答