javascript - 使用 JxBrowser 监听页面变化

标签 javascript java 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 正确加载页面。

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

我想在 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/

相关文章:

javascript - 使用嵌入文档列表和使用 ObjectId 列表之间有区别吗?

javascript - jquery中 'a'标签的点击事件

java - 在 DirectByteBuffer 中存储 Big Hashmap 的方法

java - JxBrowser 中访问 Canvas 的跨源限制

javascript - 从公共(public)方法调用模块的私有(private)函数

javascript - 如何在 material-ui App Bar 中对齐元素?

java - 传递了错误的参数。 java

java - 留意JTextField变化和run方法的变化

java - 等待主框架加载时出现 JxBrowser TimeoutException (invokeAndWaitFinishLoadingMainFrame)

javascript - JXBrowser 类似