Я сталкивался Хаксли . Позволяет записывать и воспроизводить действия пользователя. Я нашел этот вопрос в поисках того, как они это сделали, но пришлось прибегнуть к исходному коду.
Строки 98-154 из huxley / run.py определяют функцию записи. Он использует webdirvier для выполнения некоторых js на странице, которая добавляет слушателей событий. Также добавлена функция для возврата событий.
(function() {
var events = [];
window.addEventListener('click', function (e) { events.push([Date.now(), 'click', [e.clientX, e.clientY]]); }, true);
window.addEventListener('keyup', function (e) { events.push([Date.now(), 'keyup', String.fromCharCode(e.keyCode)]); }, true);
window._getHuxleyEvents = function() { return events; };
})();
Чтобы прочитать события, вызывается функция js
events = d.execute_script('return window._getHuxleyEvents();')
Затем события сохраняются таким образом, что кажется специфичным для приложения.
Извините, у меня нет кода Java. Надеюсь, это поможет.