2009-11-30 112 views
0

我正在嘗試編寫一些基於Web的自動化。我所訪問的網站與自動化系統不在同一個域中,因此跨站點腳本問題使得無法在目標網站上訪問DOM。瀏覽器自動化和跨站點腳本

我不想使用代理或處理代理目標網站(例如Selenium的做法)。跨平臺是一件好事,但不是必須的。只有當我被迫時,我纔會去Windows。我知道我可以簡單地編寫一個運行WebBrowser控件和我自己的腳本集的Windows程序,但我不希望我的用戶不得不從我的網頁下載EXE,或者任何註冊表替代,域檢查。它必須非常容易使用,不需要額外的軟件下載或任何東西。

我試着編寫一個包含MS WebBrowser控件的ActiveX控件,所以我可以有一個「瀏覽器在瀏覽器中」,可以這麼說。這沒有奏效。我結束了winocc.cpp聲明失敗。

我還有其他選擇嗎?一個Java小程序會工作嗎?我需要一個基於Java的瀏覽器..我必須看看使用JRex或Lobo嗎?

剛剛有一個更好的方法。

回答

0

您可以使用服務器端語言通過屏幕抓取獲取外部頁面。我已經使用PHP和C#.NET完成了這項工作,但是您可以使用幾乎所有的服務器端語言來創建Web請求,以便從目標頁面返回整個HTML塊。

一旦你有了HTML,你可以用它來做你想做的事情,因爲它只是一個字符串,你會以某種方式操縱它,然後寫在你的頁面上。

+0

這種方法的麻煩是,因爲我試圖構建自動化,瀏覽器客戶端需要與目標網站(可能包含cookie)保持交互式會話。這意味着我不得不花費很多精力去代理路徑來獲取服務器上的所有內容。客戶沒有辦法做到這一點嗎? – 2009-11-30 18:55:43

+0

不是真的 - 直到你下載並安裝了一些東西在客戶端上。儘管如此,您可以通過點擊一次部署來改善這種體驗。 – Fenton 2009-12-01 10:04:19