2011-08-03 92 views
1

我通過Android手機遠程控制PC上的Java應用程序,並且我需要我的應用程序在電話命令中打開瀏覽器,在這種情況下爲chrome。我爲chrome創建了一個「Process」,打開了某個地址。但是,我需要能夠在Android手機上提供用於控制網頁的工具,例如滾動。我是否可以通過編程方式發送一個chrome命令來從包含流程的PC應用程序滾動?Java:通過流程控制瀏覽器

對不起,它可能還不清楚,但android手機唯一的連接是通過套接字。它僅用作PC上其他Java應用程序的遠程控制,該PC具有其自己的屏幕。

回答

2

我不認爲存在乾淨的解決方案。

但我可以建議以下幾個方向:

(1)儘量調查本地鉻API。如果它有這樣的能力,用JNI調用它。

(2)嘗試使用類java.awt.Robot。它允許模擬用戶的活動,例如鼠標點擊。不幸的是,它不允許你在你的應用程序之外找到任何窗口,所以決定在哪裏執行點擊是個問題。 (3)您可以創建代理服務器並使瀏覽器打開以通過代理訪問目標URL。代理服務器將插入到您的JavaScript將與服務器通信的頁面。打開瀏覽器的應用程序將向服務器發送命令。您插入的JavaScript將使用AJAX接收這些命令並執行它們。 JavaScript可以滾動瀏覽器窗口,所以理論上你可以實現這一點。

+0

好吧,謝謝,我會盡力解決你的建議 – Alle

+0

機器人很好地模擬車輪, 謝謝:) – Alle

2

如果你可以針對你想控制和編輯的地址欄,你可以發送命令「的javascript:scrollTo(X,Y)」選項卡。我只是在這個頁面上測試它,它似乎工作正常,取代我輸入的頁面的原始地址。

+0

我把它作爲一個java程序中的進程,是否可以通過它發送這樣的命令? – Alle

+0

啊,不太可能是誠實的。 – brindy

1

我是否可以編程方式發送chrome命令以從我的PC上滾動 包含進程的應用程序?

不直接。你可以做的是在Android客戶端和頁面之間建立某種Web服務,Android客戶端可以發送命令到該頁面,頁面可以通過AJAX調用定期輪詢以查看客戶端需要的內容。這將是一種乾淨的DIY方式,可以在Chrome以外的其他瀏覽器上使用。

+0

好吧,我會看看如果我能找到其他的方式,否則我會研究這個,謝謝:) – Alle