需要在 Linux 服务器中使用 java Robot 类的替代品
Posted
技术标签:
【中文标题】需要在 Linux 服务器中使用 java Robot 类的替代品【英文标题】:Need an alternative to java Robot class to use in Linux server 【发布时间】:2018-12-21 07:50:23 【问题描述】:我的测试场景是打开一个excel宏文件,使用快捷键按下宏按钮,输入文件路径,点击回车。 这反过来将输入文件中的数据返回到 excel 宏中的列中以供我们比较。
我有这个的java代码
Desktop.getDesktop().open();
打开文件和机器人类以执行其他操作。
这适用于 Windows。但是,我的要求需要我的脚本在 Linux 2.6.32-696.30.1.e16 上运行。
由于我使用了 Robot 类,所以在 Linux 服务器中执行它时遇到问题
【问题讨论】:
您将如何在 Linux 服务器上运行 Excel? Excel 无法在 Linux 上运行。 @yole 我尝试生成 excel 表,并通过 Java 代码从 Linux 上的 excel 文件中读取数据。唯一的问题是我不确定如何使用宏文件提取数据。这需要显式打开一个 .xlsm 文件,单击宏按钮或使用它的快捷方式等 【参考方案1】:您当前的方法似乎是基于模仿人类的行为。也就是说'按下触发宏的按钮,然后将它在某个列中生成的值复制到某处'。
你为什么要强迫计算机以人类解决问题的方式做某事?
更好的方法:
使用 API 生成、读取、写入 Excel 文档(或 Google 表格文档)。 要么使用 API 直接请求宏执行,要么(假设这不可能)简单地重现宏中的代码,以便您的代码生成结果。【讨论】:
您能否介绍一下如何使用 API 直接请求宏执行?以上是关于需要在 Linux 服务器中使用 java Robot 类的替代品的主要内容,如果未能解决你的问题,请参考以下文章
需要在 Linux 服务器中使用 java Robot 类的替代品