在 Java 中执行点击的最快方式

The fastest way to perform a click in Java

我在 Java 项目中使用了 SWT 浏览器。

我通过 Java 脚本获取页面内容,然后通过 Java 代码获取我需要执行点击的按钮。

现在我使用如下 Java 代码执行此操作:

browser.execute("document.getElementById('actionButton').click();");

browser 是来自库 org.eclipse.swt.browser.Browser;

的对象

但我不确定这是最快的点击方式。我希望尽快点击按钮。

有没有最快的点击按钮的方法?

远离图形点击,可能是火灾事件?

我正在通过示例比较它,当我在 Java 中调用按钮上的方法 buttonComponent.doClick(); 时,它花费了大约 100 毫秒(通过图形线程并单击按钮),当我使用 buttonComponent.getActionListeners()[0].actionPerformed(null); 它花费了 0 毫秒!

我建议直接使用 click()

您与 Swing 侦听器的类比是有缺陷的,因为它并不像您想象的那么简单:

  1. 如果根本没有动作侦听器怎么办?
  2. 传递 null 会丢失信息等。

我不认为性能的提升可以抵消缺点。

Javascript也是如此。尝试手动调用侦听器(如果存在)可能会出错的地方太多,而且您从中获得的性能改进(如果有)也不是那么好。