2011-09-19 45 views
0

我正在開發一個相當大的自動化應用程序,以便從各種狀態數據庫中刪除各種遺棄的屬性信息,以便查找特定屬性。我已經開發了大約8個國家網站的搜索腳本,使用各種形式的自動化。我更喜歡使用Rubyy的Mechanize庫來執行自動化,因爲它是迄今爲止我遇到的最穩定的方法。在某些情況下,我無法使用Mechanize自動化拼湊,並且必須回退到Watir(或更具體地說,Watir的分支叫Vapir)。當源代碼需要搜索javascript時,特別需要Vapir,因爲Mechanize只生成HTTP請求並且不處理JS解釋。自動化網頁掃描問題

我的問題是Vapir自動化一個Internet Explorer實例。在某些情況下,經過長時間的搜索(其中一些搜索是針對4000多個搜索字詞的列表),IE鎖定了。我認爲這是OLE引擎的問題。我收到的錯誤如下:

failed to create WIN32OLE object from `InternetExplorer.Application' HRESULT error code:0x80004005 Unspecified error 

我找不到任何解決此問題的方法。

我的問題是,如果有人知道任何解決方案或解決辦法自動OLE實例鎖定?爲了解決這個錯誤,我必須手動終止所有IE進程並重新啓動自動搜索。

我知道的替代方法是在後端(而不是IE)中通過Vapir自動化Firefox,或者可能切換到類似PhantomJS的東西。有人對這兩種選擇有何看法?

回答

0

你有使用Vapir的原因嗎?爲什麼不試試watir(驅動Internet Explorer)或watir-webdriver(驅動Internet Explorer,Firefox,Chrome和Opera)gems?

對於安裝看到https://github.com/zeljkofilipin/watirbook/blob/master/installation/windows.md

+0

我使用Vapir因爲模態對話框中的改進支持(JavaScript警告和這樣)。 Watir的支持,至少在這個項目開始的時候,還不足以支持我需要的東西。此時,需要改進模態支持的原始搜索已轉換爲使用機械化,因此這不再是問題。這一點可能值得再次關注watir-webdriver。 – Anthony