2012-02-20 134 views
0

我正在查看Watir-Webdriver來操縱瀏覽器。特別是,我想打開本地文件並將其打印到PDF文件。從Watir打印文件

是的,wkhtmltopdf將是一件好事,但它不適合debian擠壓我,因爲很難確定的原因。該頁面包含Javascript,它排除了許多html-to-pdf選項。 wkhtmltopdf適用於OS X,相同版本(0.9.9),所以我知道這不是我使用它的一個問題(PDFKit和Ruby)。我只想回避這些問題並嘗試不同的方式。在Debian上打開鉻顯示一個完美呈現的頁面。

如何從Watir「打印」?

編輯:在more reading後,我認爲沒有辦法做到這一點。

+0

上面的'更多閱讀'鏈接是一個漂亮的舊版本watir,甚至不是watir-webdriver。 rdoc的更新版本將在這裏:http://rubydoc.info/github/watir/watir-webdriver/master/frames。雖然它並沒有真正改變答案,沒有直接的方式來與watir做到這一點(除非截圖技巧的作品或有一個webdriver功能) – 2012-02-21 22:46:32

回答

2

你可以採取一個PNG擷取畫面,然後用蝦寶石的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 
+0

不知道我是否會使用此解決方案,但它的工作原理,你瘋狂的天才。 +1 – dfrankow 2012-02-21 15:59:42

+0

注意:截圖是Selenium(b.driver)。它實際上並不需要Watir。 – dfrankow 2012-02-21 22:30:52

+0

不確定你的意思。是的,你可以通過selenium-webdriver來做到這一點,但watir-webdriver只是一個基於selenium-webdriver的API,因此名稱爲 – 2012-02-21 22:43:38

0

你需要使用的東西,可以讓你在操作系統級別做自動化。如Autoit或RAutomation。不確定在* nix操作系統上執行此操作的可能性。

Watir只根據瀏覽器窗口內部的內容來驅動瀏覽器,它具有非常有限的工作瀏覽器本身菜單的能力。