在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加载页面正确。

单击“开始”按钮时,将设置文本输入的值。

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

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

最佳答案

由于该问题主要询问如何在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);


我没有测试此代码,而是从文档中对其进行了改编,因此它可能无法立即编译和运行,但这应该可以带您进入正确的轨道。

关于javascript - 使用JxBrowser监听页面上的更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42391142/

10-11 22:02
查看更多