2011-08-03 94 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