2010-11-01 109 views
1

如何獲取當前在使用delphi的firefox實例中運行的網頁的源代碼?我想這樣做,而不是先讓firefox成爲活動窗口,如果可能的話,但抓住源頭是我的主要問題。Delphi - 抓取運行在firefox中的網頁的源代碼

TIA, 戴夫

+0

如果有多個Firefox正在運行,你打算做什麼? – 2010-11-01 09:56:00

+0

我覺得這樣做的方式是,我會抓住我感興趣的頁面的窗口標題,然後只處理那一頁。事實上,我只需要1頁就可以獲得源代碼,這聽起來像是對我來說合乎邏輯的方法。 – Dave 2010-11-01 10:04:39

+0

Öhhh...爲什麼不直接下載源文件?你爲什麼需要瀏覽Firefox? – 2010-11-01 11:53:53

回答

2

這可能有助於

How to embed a browser object, other than IE<n>, in a Delphi application

這是有關嵌入火狐(其中包括),但具有LNKS到其他頁面的顯示,您可以用導航DOM方法。

我會看看使用IE瀏覽器如果可能的話,這是相當良好的文件如何在IE中做到這一點。

+0

我已經使用delphie使用的嵌入式IE實例完成了這項工作,並遇到了很多問題(主要是與認證有關的問題),所以我寧願不去那條路線,除非有另一種方式。你也提到,這是相當有據可查的IE瀏覽器,我假設「這個」你指的是我的原始問題,所以如果你有任何來源,我可以做到這一點使用IE瀏覽器而不是Firefox,那麼我寧願給那個射擊。 – Dave 2010-11-01 12:18:34

+0

我有一些資源在某個地方,我在外部即瀏覽器中走過dom,我會嘗試爲您挖掘它,如果您可以等待,可能需要一天左右的時間。 – daven11 2010-11-01 12:43:06

+0

獲取IHTMLDocument2詳細在這裏http://www.delphigroups.info/2/12/492347.html你可以從界面得到的HTML如果你需要更多的細節讓我知道 – daven11 2010-11-01 13:08:23

0

強制性「這裏有一個方法,但不這樣做」從剪貼板傢伙....

一個醜陋的黑客攻擊我所看到的是將擊鍵發送到應用程序,並迫使它來複制/將數據粘貼到剪貼板。不要走這條路。它會在一個受控的環境中爲你工作。它不適用於您的用戶,他們將遇到兼容性問題,剪貼板數據的意外損壞以及正在監視剪貼板以進行更新的其他應用程序崩潰。
不,不能保存/恢復剪貼板而不會造成更多麻煩。

+0

我沒有這樣做的意圖。我有一些想法,比如動態地創建嵌入式WB組件,然後抓取我需要的信息,然後再次釋放它,以便每次創建時抓取網頁的新副本。這只是一個理論,因爲我不知道如何創建我需要的方法來訪問我想要的運行時數據。如果被嵌入的世界銀行沒有爲我的每一步都打我,我會在很久以前完成這一切。 – Dave 2010-11-01 14:08:31