2013-10-15 124 views
0

我通過IE從Java代碼打開一個網頁,如下所示:運行Java腳本命令是負載

Runtime.getRuntime().exec(url). 

我的網頁顯示身份驗證的用戶名和密碼(屏幕幾乎相同的用戶和所有用戶的密碼)。

此外,我已經創建了Java腳本,自動填充用戶名和密碼爲硬編碼。如果我在網頁上重點關注時手動運行它,它工作正常。

有沒有可能通過上述命令運行腳本? 我只是想打開頁面,並且用戶&密碼將填充...

謝謝!

回答

-1

在頁面加載時運行代碼。把它放在一個onload函數中。

window.onload = function(){ 
    // your javascript code here 
} 
+0

OP是從Java打開一個網頁,然後需要讓他自己的JavaScript運行。他沒有編輯頁面的javascript – Cruncher

3

首先,您啓動瀏覽器的方法相當薄弱。你目前正在做的就是運行這個URL,就像它是一個命令一樣,即運行一個進程的名字。這與在命令提示符或Windows Run ...對話框中鍵入它類似。幸運的是,在這種情況下,Windows通過使用該URL啓動IE來解釋嘗試執行HTTP URL,但這在其他環境中可能不一致。更好的方法是使用Desktop.browse,它專門在默認瀏覽器中啓動URL。

至於你自己的問題,這是不太可能的。您正在產生一個新的(IE)進程,它與Java進程完全分離。如果沒有某種形式的進程間通信,Java將無法在運行中向IE發送命令。這可能工作的唯一可能方式是將參數傳遞給由新進程解釋的命令。據我所知,沒有任何命令行參數會導致IE在加載頁面時運行任意一塊JS。

+1

http://msdn.microsoft.com/en-us/library/hh826025(v=vs.85).aspx eval看起來像是IE 7及以下的版本。 (只要OP使用黑客入侵的解決方案,我覺得這是爲了自己,而不會有最終用戶) – Cruncher

+0

@Cruncher好點!我找不到任何有關它(過去)的文檔,但它可能會成爲一種解決方案。 –

+0

我也在尋找一些文檔,看起來微軟不想讓任何人知道這件事。我在我的IE 8上測試了一些東西,但無法獲得任何JavaScript來運行。 – Cruncher