Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 爪哇语:;“控制”;外用_Java_Firefox - Fatal编程技术网

Java 爪哇语:;“控制”;外用

Java 爪哇语:;“控制”;外用,java,firefox,Java,Firefox,是否可以从Java以编程方式启动应用程序,然后向其发送命令并接收程序的输出 我正在尝试实现这个场景: 我想访问一个使用大量javascript和特殊html+css功能的网站->该网站在swt.browser或任何其他可用浏览器小部件中未正确显示。但该网站可以在firefox中显示,没有任何问题。所以我想运行一个隐藏的firefox实例,加载网站并获取数据。(如果FF可以嵌入JFrame中,那就太好了……) 有人知道如何实现这一点吗? 任何帮助都将不胜感激 编辑:网站加载一些Javascript

是否可以从Java以编程方式启动应用程序,然后向其发送命令并接收程序的输出

我正在尝试实现这个场景:

我想访问一个使用大量javascript和特殊html+css功能的网站->该网站在swt.browser或任何其他可用浏览器小部件中未正确显示。但该网站可以在firefox中显示,没有任何问题。所以我想运行一个隐藏的firefox实例,加载网站并获取数据。(如果FF可以嵌入JFrame中,那就太好了……)

有人知道如何实现这一点吗? 任何帮助都将不胜感激


编辑:网站加载一些Javascript,这些Javascript具有一些html魔力,并加载一些图片。当我只从网站上阅读html时,我只看到一些JavaScript调用。但当网站加载到浏览器中时,它会显示一些覆盖着文本的图像。这就是我试图向我的应用程序用户展示的内容

要在应用程序中启动Firefox,您可以使用:

Runtime runtime = Runtime.getRuntime();
try {
    String path = "/path/to/firefox";
    Process process = runtime.exec(path + " " + url);
} catch (IOException e) {
    // ...
}
要在进程启动后对其进行操作,通常可以使用process.getInputStream()和process.getOutputStream(),但对于Firefox来说,这并没有帮助

除了尝试在应用程序和浏览器实例之间直接交互之外,您可能还应该研究解决特定问题的方法。考虑把整个接口移动到java GUI,或者从地面上做一个Web应用程序——不是一半和一半。

< P>见它-它将教你如何开始一个过程,读取它的输出并写入它的输入流。< /P>
然而,这种解决方案可能不是解决您问题的最佳方案。你需要从网页上获取什么样的数据?使用HTTP GET读取html,然后使用html解析器对其进行解析是否更好?

如果您有可用的文本模式浏览器(如linux上的links2),您可能希望了解该浏览器对页面的渲染效果。例如,“links-dump”命令将页面格式化为文本并立即退出,从而产生的输出可能很容易使用Ray Myers和Kgiannakis建议的方法进行解析。

如果网站是静态的,您可以使用类似web的刮板加载URL,解析HTML并在DOM中漫游到所需的信息。

尽管将来还不可用。这项功能被称为链接wiki,“其目的是让用户快速访问信息并执行通常需要几个步骤才能完成的任务。”


事实上,TaskFox即将推出的新功能今天刚刚发布。也许你应该考虑一种职业,而不是一个程序员。

下载网站并获取数据,这不会解决你的渲染问题,对吗?如果你能胜任,你可以看看GWT是如何解决这个问题的,你想在java应用程序中显示Firefox。在GWT中,它被称为进程外托管模式(OOPHM,link)?显示一个网站?从中获取一些HTML数据?获取网站的当前HTML DOM,它可能是由一些JavaScript创建的?或者你想在上述网站上模拟用户交互?