【发布时间】:2016-11-04 21:08:16
【问题描述】:
我在我的 Java 项目中使用了 SWT 浏览器。
我通过 JavaScript 获取页面的内容,接下来通过 Java 代码获取我需要执行的按钮。
现在我从下面的 Java 代码中执行此操作:
browser.execute("document.getElementById('actionButton').click();");
browser 是来自库 org.eclipse.swt.browser.Browser; 的对象
但我不确定这是最快的点击方式。我关心尽快点击按钮。
有没有最快的方法来执行点击按钮?
远离图形点击,可能是火灾事件?
当我在 Java 中的按钮上调用方法 buttonComponent.doClick(); 时,我通过示例进行比较,它花费了大约 100 毫秒(通过图形线程并点击按钮),而当我使用 buttonComponent.getActionListeners()[0].actionPerformed(null); 时,它花费了 0 毫秒!
【问题讨论】:
-
为什么你“需要”用Java代码点击它?如果您在 Javascript 中生成一个按钮并希望它尽快被点击,那么只需在它生成后立即点击它。
-
我加载存在按钮的页面。我想以最快的方式从我的桌面 Java 应用程序中单击此按钮。
-
请说明您当前的尝试有什么问题。
-
我不确定这是最快的方法。就像在 java 桌面应用程序中,当我获取按钮组件并在它们上调用
buttonComponent.doClick();时,它需要大约 100 毫秒(图形线程),但是当我调用buttonComponent.getActionListeners()[0].actionPerformed(null);时,它需要 0 毫秒 -
@czArek 我建议选择
click()。您与 Swing 监听器的类比是有缺陷的,因为它并不像您想象的那么容易。如果根本没有动作监听器怎么办?通过传递null你会丢失信息等。我认为性能的提升并不能抵消不利因素。 JavaScript 也是如此。
标签: javascript java html dom swt