2013-04-02 98 views
0

我在HTML中安裝了HTML Tidy擴展。使用watir-webdriver加載擴展名給出超時錯誤

當我這樣做:

b = Watir::Browser.new :chrome 

Chrome瀏覽器打開,但沒有擴展名。

所以我用以下:

b = Watir::Browser.new (:chrome, :switches => %w[--load-extension= 
"C:\Users\.....\AppData\Local\Google\Chrome\UserData\Default\Extensions\gljdonhfjnfdklljmfaabfpjlonflfnm"]) 

這將打開Chrome瀏覽器的擴展名

但幾秒鐘後,它給了我錯誤:

[0402/141412:ERROR:proxy_launcher.cc(551)] Failed to wait for testing channel presence. test\automation\proxy_launcher.cc(477): error: Value of: automation_proxy_.get()

Actual: false Expected: true Timeout::Error: Timeout::Error

我做了搜索,它看起來像一個chromedriver錯誤。

我使用Chromedriver版本:26.0.1383.0

有沒有人碰到這個問題?如果有人可以提供一個解決方案,有人可以提出建議嗎?

+0

請說明HTML Tidy爲您解決的問題。如果沒有,那麼。不要使用它。如果你想捕捉乾淨的HTML,也許你會在抓取它後清理它。也。我看到Firefox的HTML Tidy插件。 –

+0

我將使用HTML tidy來獲取HTML錯誤和警告,併爲我們的新版本生成報告。我正在使用我們現有的自動化框架watir-webdriver。 – user2237927

+0

我找到了解決這個問題的辦法。基本上只需刪除引號,並用正向斜線替換反斜槓,然後用路徑中的空格替換斜線。它啓動罰款。 – user2237927

回答

0

Ruby庫Nokogiri can check for well formed markup。那麼你不依賴於瀏覽器的東西。您可以從Watir-Webdriver捕獲html。或者你可以從net/http中捕獲它。

require "net/http" 
require "uri" 
require "nokogiri" 

uri = URI.parse("http://www.google.com") 
response = Net::HTTP.get_response(uri) 
puts parse_body(response.body) 

def parse_body(response) 
    begin 
    return Nokogiri::XML(response) { |config| config.strict } 
    rescue Nokogiri::XML::SyntaxError => e 
    return "caught exception: #{e}" 
    end 
end 
相關問題