module Selenium::WebDriver::DriverExtensions::HasFileDownloads

def download_file(file_name, target_directory)

def download_file(file_name, target_directory)
  verify_enabled
  response = @bridge.download_file(file_name)
  contents = response['contents']
  File.open("#{file_name}.zip", 'wb') { |f| f << Base64.decode64(contents) }
  target_directory += '/' unless target_directory.end_with?('/')
  FileUtils.mkdir_p(target_directory)
  begin
    Zip::File.open("#{file_name}.zip") do |zip|
      zip.each { |entry| zip.extract(entry, "#{target_directory}#{file_name}") }
    end
  ensure
    FileUtils.rm_f("#{file_name}.zip")
  end
end