有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使用Java从浏览器复制文本?

有没有办法将文本从浏览器复制到我的Java应用程序

例如,在我的屏幕左侧,我打开一个浏览器指向一个URL,并显示该页面的内容,它可能在一个框架或CSS或简单的html中,在屏幕右侧,我打开一个Java Swing应用程序。我对浏览器窗口中显示一些文本的某些部分感兴趣,我想让我的Java应用程序[不做任何事情]复制并粘贴文本到自身中,可以吗

我知道我可以使用JEditorPane或JTextPane,并使用HTMLEditorKit进行设置,然后将文本加载到窗格中,但如果页面使用框架或其他复杂方式,我从窗格中获取的文本与我在页面上看到的不同,因此我不想通过将URL加载到Java应用程序中来实现,我想知道是否可以用我上面提到的方法来做


共 (4) 个答案

  1. # 1 楼答案

    您可以根据需要尝试以下方法

    使用java.awt.Robot你可以1)如果你需要的是内容(没有文本,只是浏览器内容的图像)就截图,或者2)将你自己移动到浏览器中,通过编程按:CTRL-A+CTRL-C,然后返回到swing应用程序焦点,通过编程按:CTRL-V(或CMD或操作系统中有意义的任何东西)

    但同样,这可能有效,也可能无效,这取决于您需要什么

  2. # 2 楼答案

    使用java.awt.Robot&;文本字段将完成任务,但不确定是否有其他方法。让机器人按ctrl+a,然后按ctrl+c,将文本字段置于焦点,最后让机器人按ctrl+v。现在,您可以从这里创建一个按钮。setOnAction将文本字段文本保存为字符串。或者,您可以使用文本字段setOnKeyReleased上的更改侦听器来执行相同的操作

  3. # 3 楼答案

    我认为你从错误的角度看待这个问题。如果你想收获一个网站,我建议你看看很棒的库web-harvest。通过使用一点Xpath向导,您可以获得所需的一切。 按照您所描述的方式进行操作将意味着进程间的通信,这似乎是一种过火的行为。下载网页内容的方式比浏览器多

  4. # 4 楼答案

    我知道一种工具,但我不确定它是否满足您的需要。你听说过硒吗http://seleniumhq.org/它可以复制用户在浏览器中执行的操作,然后使用java代码对其进行操作。看看这个链接,它可能很方便