Java 单击网页上的按钮

Java 单击网页上的按钮,java,Java,我正在使用进程p=Runtime.getRuntime().exec打开一个网页。我将使用什么事件处理程序使用Java单击打开网页上的按钮?真的没有。您对启动的流程没有任何这样细粒度的控制;您所得到的只是流程中的输入、输出和错误流 如果您想与来自Java的网页交互(但不在屏幕上显示),可以查看 您可以将HtmlUnit配置为模拟特定浏览器(用户代理头、cookie策略等) 如果所有这些都失败了,您可以编写一个小型JavaScript控制器并在浏览器中打开它,而不是直接打开目标网页。然后,Java

我正在使用
进程p=Runtime.getRuntime().exec
打开一个网页。我将使用什么事件处理程序使用Java单击打开网页上的按钮?

真的没有。您对启动的流程没有任何这样细粒度的控制;您所得到的只是流程中的输入、输出和错误流

如果您想与来自Java的网页交互(但不在屏幕上显示),可以查看

您可以将HtmlUnit配置为模拟特定浏览器(用户代理头、cookie策略等)


如果所有这些都失败了,您可以编写一个小型JavaScript控制器并在浏览器中打开它,而不是直接打开目标网页。然后,JavaScript控制器可以与您的应用程序进行对话,获取指令(比如导航到哪个页面),并对这些指令进行操作。是一个很好的选择,但是可能需要你安装一个浏览器插件。

添加来自radai的答案和评论

a。“我的工作领域中已经有了这样的程序,但由于缺少浏览器,bluecoat安全性的原因,它将无法使用”-这不是因为缺少浏览器。这是因为您的java进程没有访问页面的代理凭据。来自该工具的http调用直接通过您的代理进行。您可以尝试使用所需的属性设置环境

如果您是从命令行运行该工具,您可以尝试以下方法

JAVA_FLAGS=-Dhttp.proxyHost=10.0.0.100 -Dhttp.proxyPort=8800
java ${JAVA_FLAGS} <java_class_to_run>
JAVA_FLAGS=-Dhttp.proxyHost=10.0.0.100-Dhttp.proxyPort=8800
java${java_FLAGS}

b。如果您计划重新创建该工具-这是另一个不错的选择

您想要实现的更大目标是什么?你有没有考虑过改用无头浏览器?这是一份工作!我试图完成的是登录surveymonkey并下载一个excel文件。我有一个程序,可以这样做了,但它不会与我的工作领域,因为蓝衣安全,因为缺乏浏览器。所以我想,如果我能从浏览器中打开并控制它,它就会这样工作。想法?@patrick-他们是如何发现“缺少浏览器”的?无论如何,我已经用另一种方法更新了我的答案,我认为javascript可能会使这个项目失控。也许不是。但我所说的缺少浏览器是指与浏览器中的用户凭据关联的身份验证证书。如果你认为有帮助的话,我可以把我的错误告诉你。因为我的代码在其他方面工作得很好,只是当我尝试从我的works域运行它时就不行了。我计划从命令行运行它。我将对此进行检查。您能否更具体地说明如何添加代理?我对此有点不清楚?所有来自您的机器/网络中的任何机器的呼叫都必须通过bluecoat代理才能到达外部站点。在您的工具中,由于您没有提供代理服务器详细信息,因此呼叫不会超出您的网络。您可以从网络管理员处获取代理主机和端口详细信息,并在answerAh ok中替换主机和端口的值,这更有意义。我看看能不能走那条路。谢谢你的信息。