在 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 中的事件,所以我认为这就是您要查找的内容:
您必须执行类似的操作(在您的 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/