Java 如何使用webview获取上次更新的HTML内容?

Java 如何使用webview获取上次更新的HTML内容?,java,android,html,webview,Java,Android,Html,Webview,我有一个问题,我知道如何在webview中获取HTML源代码,并且有很多方法来获取它。但这就是我遇到的: 例如,我可以使用以下方法获取此网站的html源代码: web.loadUrl(“javascript:window.HTMLOUT.processHTML(“”+document.getElementsByTagName(“”+html')[0]。innerHTML+“”);”) 但它只是给了我一个HTML的第一个源代码,如果这个网站是改变一些HTML元素或内容将在几秒钟内改变,我不能得到它

我有一个问题,我知道如何在webview中获取HTML源代码,并且有很多方法来获取它。但这就是我遇到的: 例如,我可以使用以下方法获取此网站的html源代码:

web.loadUrl(“javascript:window.HTMLOUT.processHTML(“”+document.getElementsByTagName(“”+html')[0]。innerHTML+“”);”)


但它只是给了我一个HTML的第一个源代码,如果这个网站是改变一些HTML元素或内容将在几秒钟内改变,我不能得到它。那么如何在webview中获取最新的html呢?我正在使用按钮,我等待网站更改内容,我点击按钮获得HTML,但仍然和第一次一样。感谢您使用javascript获取html代码, 然后,我认为您可以检测仍然使用javascript的html更改

您可以尝试使用MutationObserver javascript对象


您正在使用javascript获取html代码, 然后,我认为您可以检测仍然使用javascript的html更改

您可以尝试使用MutationObserver javascript对象

// Select the node that will be observed for mutations
var targetNode = document.getElementById('some-id');

// Options for the observer (which mutations to observe)
var config = { attributes: true, childList: true, subtree: true };

// Callback function to execute when mutations are observed
var callback = function(mutationsList, observer) {
    for(var mutation of mutationsList) {
        if (mutation.type == 'childList') {
            console.log('A child node has been added or removed.');
            //RELOAD YOUR WEBVIEW HERE
        }
        else if (mutation.type == 'attributes') {
            console.log('The ' + mutation.attributeName + ' attribute was modified.');
            //RELOAD YOUR WEBVIEW AND HERE
        }
    }
};

// Create an observer instance linked to the callback function
var observer = new MutationObserver(callback);

// Start observing the target node for configured mutations
observer.observe(targetNode, config);