ruby - 找出 Firefox 通过 watir-webdriver 保存的文件名

标签 ruby firefox download watir-webdriver

考虑到 Firefox 现在的工作方式,无论遇到什么类型的链接、重定向或 mime 类型 watir-webdriver,都不太可能指定另存为文件名以完全非交互/非 GUI 的方式

有什么简单的方法可以找出刚刚保存的文件的名称?

希望比“检测目录中创建的最新文件”更可靠,因为我有独立的进程,必须同时使用同一文件夹,包括其他网络驱动程序。

使用此方法在配置文件中已设置无提示下载(尽可能使用许多预见的文件类型):Firefox 4 with watir webdriver: Need help using helperApps.neverAsk to save CSV without prompting

在我的设置中,Bash 脚本调用 Ruby,它执行 watir-webdriver 的操作,启动浏览器等,然后退出回到 Bash 进程。我希望 Ruby 能够立即了解它刚刚保存的文件名,因为它的 env 最清楚地知道我想如何重命名该文件,而不是将其留给一些令人毛骨悚然的 lsof/strace 找出事后分析。但无论怎样有效。

更新

由于答案似乎并非如此,任何人都可以建议简短的 Ruby 代码来查找给定目录中保存的最新文件,检查它是否确实是在过去 2 秒内写入的,并将其重命名为我的变量 $ acctno.csv ?

最佳答案

试试这个,但用你的目录名替换 Dir.pwd

f = Dir.entries(Dir.pwd).reject{|f|File.ftype(f)!='file'}.sort_by{|f| File.mtime(f)}.last
File.rename(f, "#{$acctno}.csv") if Time.now-File.mtime(f)<2

关于ruby - 找出 Firefox 通过 watir-webdriver 保存的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9402468/

相关文章:

mysql - 如何处理不同的答案类型

javascript - 在 JavaScript 中为我的 Rails 应用程序显示弹出消息

javascript - 如何在一定的时间间隔内调用函数

css:Firefox 4 css 中的意外边距/填充

Java 等待线程完成

php - 下载 php 脚本图像

javascript - 检索 javascript 处理过的网页

javascript - 如何在 Rails 中访问 c​​sv 文件

javascript - `with` 语句中函数声明的范围

ruby-on-rails - Ruby number_to_currency 显示一个完全错误的数字!