【问题标题】:Print a file from Watir从 Watir 打印文件
【发布时间】:2012-03-11 07:18:21
【问题描述】:

我正在查看Watir-Webdriver 来操作浏览器。特别是,我想打开一个本地文件并将其打印为 PDF 文件。

是的,wkhtmltopdf 将是一件好事,但它不适用于我的 debian 压缩,原因很难确定。该页面包含 Javascript,它排除了许多 html-to-pdf 选项。 wkhtmltopdf 适用于 OS X,相同版本(0.9.9),所以我知道这不是我使用它的问题(PDFKit 和 Ruby)。我只是想回避这些问题并尝试不同的方式。在 debian 上打开 chromium 会显示一个完美渲染的页面。

如何从 Watir “打印”?

编辑more reading之后,我觉得没办法了。

【问题讨论】:

  • 上面的“更多阅读”链接适用于相当老的 watir 版本,甚至不是 watir-webdriver。更新版本的 rdoc 将在此处:rubydoc.info/github/watir/watir-webdriver/master/frames。虽然它并没有真正改变没有直接方法可以用 watir 做到这一点的答案(除非截图技巧有效或有一个 webdriver 函数)

标签: autoit watir-webdriver rautomation


【解决方案1】:

您可以拍摄 png 截图,然后使用 prawn gem 将 png 截图转换为 pdf:

require 'prawn'
require 'watir-webdriver'

b = Watir::Browser.start 'watirwebdriver.com'
b.driver.save_screenshot 'screenshot.png'
Prawn::Document.generate 'screenshot.pdf' do
  image 'screenshot.png', :scale => 0.5
end
b.close 

【讨论】:

  • 不确定我是否会使用这个解决方案,但它确实有效,你这个疯狂的天才。 +1
  • 注意:截图是 Selenium (b.driver)。它实际上不需要 Watir。
  • 不确定您的意思。是的,你可以通过 selenium-webdriver 做到这一点,但是 watir-webdriver 只是 selenium-webdriver 上的一个 API,因此得名
  • 我只是为自己指出不需要 Watir。在这种情况下,Selenium 代码看起来几乎相同。更少的依赖通常更好。不过,我接受了你的回答。
【解决方案2】:

您需要使用可以在操作系统级别进行自动化的工具。例如 Autoit 或 RAutomation。不确定在 *nix 操作系统上有什么可以做到这一点。

Watir 仅根据浏览器窗口内的内容驱动浏览器,它对浏览器本身菜单的操作能力非常有限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-23
    • 2017-10-02
    • 2013-09-22
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    相关资源
    最近更新 更多