对我来说,在 WebEngine 对象上调用 getDocument() 方法只会返回从服务器检索到的源,而不会执行 JavaScript(仍然有元素)。如果您在 Chrome 中使用“查看源代码”,您会看到这种源代码。如何检索已运行的 JavaScript 的解释源?
public Browser() {
WebView browser = new WebView();
final WebEngine webEngine = browser.getEngine();
webEngine.load("*******************************");
webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
@Override
public void changed(ObservableValue<? extends State> ov, State oldState, State newState) {
if (newState == State.SUCCEEDED) {
Document doc = webEngine.getDocument();
printDocument(doc);
}
}
});
}