我想打開一個網頁並從Java應用程序中運行JavaScript代碼。 比如我想打開網頁www.mytestpage.com並運行下面的JavaScript代碼:如何在Java應用程序中打開網頁並運行我自己的JavaScript代碼
document.getElementById("txtEmail").value="[email protected]";
submit();
void(0);
這個工程在瀏覽器...我怎麼能做到這一點編程Java應用程序中?
謝謝!
我想打開一個網頁並從Java應用程序中運行JavaScript代碼。 比如我想打開網頁www.mytestpage.com並運行下面的JavaScript代碼:如何在Java應用程序中打開網頁並運行我自己的JavaScript代碼
document.getElementById("txtEmail").value="[email protected]";
submit();
void(0);
這個工程在瀏覽器...我怎麼能做到這一點編程Java應用程序中?
謝謝!
這裏有Rhino JS engine用Java編寫,你可以在應用服務器上運行,比如Tomcat和JS,但是 - 你不清楚你想用這個做什麼?
還有Envjs simulated browser environment這是基於犀牛,但完全夠運行jQuery和/或原型
您可以使用Rhino執行JavaScript,但你不會有一個可用的DOM - 即document.getElementById()
會工作。
您可以使用HTML Unit(無頭)或WebDriver/Selenium(駕駛瀏覽器)在具有DOM可用的環境中執行JavaScript。
我不確定你在找什麼,但我認爲你想寫自動POST請求。這可以用Http Client library來完成。只有你必須設置適當的請求(POST或GET)參數。
看看examples - 藉助這個庫,您可以進行基本身份驗證或發佈文件。
你的問題有點含糊,因爲我們不知道Java程序的位置。
如果這是你的頁面中的Java applet,你應該看看Java < - > JavaScript的交互,它運行良好。
如果你需要一個單獨的Java程序來控制瀏覽器,比如在地址欄中發送一個書籤(作爲你的一個標籤建議),這有點難(取決於目標瀏覽器),也許看看Robot類。
DWR(和其他框架)現在支持「reverse ajax」。總的想法是,你用三種方法之一回傳送給客戶端:
不管方法(通常是一個配置時間決定而不是編碼問題),你將有完全訪問任何/所有js調用你想要。
退房the reference page from DWR得到一個很好的解釋。