使用 JxBrowser 监听页面变化

Listen changes on page using JxBrowser

在 Java 项目中我使用 JxBrowser.

我有页面

<!DOCTYPE html>
<html>
<body>

Start: <input type="text" id="startTimeField"> ms
<hr>
<button id="buttonToClick" onclick="myFunction()">Start</button>

<script>
    function myFunction() {
       document.getElementById('startTimeField').value = new Date().getMilliseconds();
    }
</script>

</body>
</html>

我使用 JxBrowser 正确加载页面。

单击按钮 "Start" 时,将设置文本输入的值。

我想在 Java 中使用 JxBrowser 对象添加侦听器以侦听 startTimeField 文本输入更改。

例如: startTimeField 设置为 0,单击 Start 按钮后字段更改值(按实际 ms 时间),我想在 Java 代码中检测此更改并获取更改值。

<input type="text" id="startTimeField" onchange="yourfunction">

看看reference

既然问题基本上是问如何在Java中监听DOM中的事件,我想这就是你要找的:

JxBrowser - DOM Events

你将不得不做类似的事情(在你的 Java 代码中):

DOMElement element = browser.getDocument().findElement(By.id("startTimeField"));
element.addEventListener(DOMEventType.OnChange, new DOMEventListener() {
    public void handleEvent(DOMEvent event) {
        // your code for reacting to the change here
    }
}, false);

我没有测试这段代码,而是根据文档对其进行了改编,因此它可能无法立即编译和工作,但这应该会引导您走上正确的轨道。