2015-07-10 72 views
1

我想在不打開瀏覽器窗口的情況下運行硒,因爲有很多數據應該被解析並且速度很慢。紅寶石水豚+硒不運行瀏覽器

我想爲它使用poltergeist(phantomjs),但它仍然打開瀏覽器。也許你可以幫我配置它?

目前我的配置是:

Capybara.configure do |config| 
    config.run_server = false 
    config.default_driver = :poltergeist 
end 

Capybara.register_driver :poltergeist do |app| 
    profile = Selenium::WebDriver::Firefox::Profile.new 
    profile['browser.download.folderList'] = 2 
    profile['browser.download.dir'] = RESULT_FOLDER 

    profile['download.prompt_for_download'] = false 
    profile['download.default_directory'] = RESULT_FOLDER 
    profile['browser.helperApps.neverAsk.saveToDisk'] = 'application/pdf' 
    profile['pdfjs.disabled'] = true 
    Capybara::Selenium::Driver.new(app, browser: :firefox, :profile => profile) 
    end 

我不想因爲它需要一個正在運行的服務器使用的WebKit。 也可以幫助我的建議如何達到這個東西的最大性能?

+0

你爲什麼要註冊騷靈的驅動程序,然後告訴它使用Firefox ? PhantomJS是一個單獨的二進制文件,與Firefox沒有任何關係。 – simonwo

+0

好吧,但是當我這樣做時: 'Capybara.register_driver:poltergeist do | app | Capybara :: Poltergeist :: Driver.new(app, :phantomjs_options => ['--local-storage-path =/home/extazystas/Downloads','--debug = no','--load-images = no','--ignore-ssl-errors = yes','--ssl-protocol = TLSv1'],:debug => false) end' 瀏覽器無法運行,但找不到下載文件。 – Extazystas

回答

0

下面是一個寶石headless,它可以幫助你做你想做什麼,或者還有另一種解決方案是phantomjs,甚至有寶石phantomjs-gem

+0

我可以用無頭寶石下載特定文件夾中的文件嗎? – Extazystas

+0

你仍然可以像以前一樣使用firefox,無頭只有使用Xvfb的方式 – dmr