2016-11-04 7 views
-2

Я использовал SWT Browser в своем проекте Java.Самый быстрый способ выполнить щелчок в Java

Я получаю содержимое страницы с помощью JavaScript, а затем кнопку получения, которую мне нужно выполнить, чтобы щелкнуть по Java-коду.

Теперь я делаю это из Java кода, как показано ниже:

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

browser является объектом из Lib org.eclipse.swt.browser.Browser;

Но я не уверен, что это самый быстрый способ нажать кнопку. Я позабочусь как можно скорее, нажав на кнопку.

Есть ли самый быстрый способ выполнить щелчок по кнопке?

Вдали от графического щелчка, возможно, от пожара?

Я сравниваю его на примере, когда я вызываю метод buttonComponent.doClick(); на кнопке в Java, он стоит около 100 мс (по графическому потоку и нажимает на кнопку), а когда я использовал buttonComponent.getActionListeners()[0].actionPerformed(null);, он стоил 0 мс!

+0

Зачем вам «нужно» щелкнуть по нему с помощью Java-кода? Если вы создаете кнопку в Javascript и хотите, чтобы она щелкнула как можно скорее, просто нажмите ее, как только она будет создана. – Archer

+0

Я загружаю страницу, где есть кнопка. Я хочу щелкнуть эту кнопку с моего настольного приложения Java самым быстрым способом. – czArek

+0

Пожалуйста, объясните, что не так с вашей текущей попыткой. – Archer

ответ

1

Я бы пересчитал, чтобы просто пойти с click().

Ты аналогия с свинг слушателя является некорректной, потому что это не так просто, как вы сделаете это, чтобы быть:

  1. Что делать, если нет никаких действий слушателя на всех?
  2. Передавая пустой вы потеряете информацию и т.д.

Я не думаю, что выигрыш в производительности из противовесов минусов.

То же самое будет для Javascript. Есть слишком много вещей, которые могут пойти не так, пытаясь вызвать слушателей (если есть) вручную, и улучшение производительности (если оно есть), которое вы получаете от него, тоже не так уж велико.

+0

Вы правы :) – czArek

Смежные вопросы