【问题标题】:How do I download a file in Watir?如何在 Watir 中下载文件?
【发布时间】:2013-11-08 14:00:17
【问题描述】:

我开始使用 Watir,但找不到任何有关下载文件的信息(不是图像,我已经看到有特定的方法),我不关心配置下载目录,也不关心单击按钮的位置,就在我在页面上时,无论是 .html、.png、.rb 我应该如何“另存为”?这个真的不清楚

我可以右键单击页面链接,但不能 send_keys :down(它只是在右键单击上下文菜单的背景中将页面向下移动),如下所示:

require "watir-webdriver"
browser = Watir::Browser.new :chrome
browser.goto "https://github.com/lmmx/watir-paper-scanner/blob/master/bookworm.rb"
browser.a(:text => "Raw").right_click

编辑: 只需放入上面的代码,用于获取我实际尝试做的一个小测试的示例,最后一点。 .right_click 有效,但 .send_keys 不作用于它产生的上下文菜单,而是移动页面,如果有的话,这可以替代某种 .download 函数

我在这里错过了什么......?

【问题讨论】:

  • 您能否提供(最少数量的)示例 HTML 以重现该问题?
  • 我并不是真的要问一个具体的问题...我在 Github 上,必须下载我正在从事的项目的代码,而不是右键单击 Raw > '另存为' 我想,嗯,我确信我可以让 Watir 做到这一点,既然我已经在使用它的 Ruby shell 中,为什么不试一试......但后来我用谷歌搜索并没有任何迹象使用 Watir 下载一些东西。当我要求的是一件我不知道该怎么做的事情时,我真的无法生成示例 HTML,如果你得到我的话?对不起:(
  • 我将编辑第二段以包含该代码,但就像我说的那样,这是一个不正确的方法

标签: watir watir-webdriver


【解决方案1】:

打开的“上下文菜单”实际上是操作系统级别的“文件查找器”对话框吗?如果是这样,那是在 DOM 之外,并且基于 webdriver 的任何东西都无法触及它。那时您正在与操作系统而不是浏览器交谈。浏览器基本上已经告诉操作系统“嘿,让用户选择一个文件并将文件路径返回给我”,而你的用户不再与浏览器交互。

证明这一点的方法是右键单击对话框中的某些内容,如果您没有看到“检查元素”选项,那么您很可能不在浏览器中。

此时,请研究 RAutomation 或 AutoIt 之类的东西

【讨论】:

  • 谢谢 Chuck,我毕竟没有在我的项目中使用 Watir,只是在尝试一下。如果有机会我会再看一遍,感谢您的建议:)
  • 无论您使用什么浏览器驱动程序,这几乎都适用,尤其是对于大量基于 webdriver 的浏览器驱动程序。
猜你喜欢
  • 2017-05-02
  • 1970-01-01
  • 2017-05-17
  • 2013-03-11
  • 1970-01-01
  • 2016-12-15
  • 2013-01-27
  • 2015-08-21
  • 2011-09-27
相关资源
最近更新 更多