Android WebView获取html源码

发布时间 2023-10-15 15:31:12作者: Stars-one

通过执行js语句来获取

val code = """
    document.documentElement.outerHTML
""".trimIndent()
webview.evaluateJavascript(code) { value ->

    val htmlContent = if (value == null) {
        ""
    } else {
        //这里需要处理下,否则jsoup无法正确解析html内容
        //依赖implementation 'org.apache.commons:commons-text:1.9'
        StringEscapeUtils.unescapeEcmaScript(value)
    }
    
}

实际上,客户端只能判断html的源码是否加载完成(webclient的onPageFinish方法)

但是如果网页的html有些内容是异步加载,那么唯一的方法就只能是等待几秒后再执行上面的获取源码的方法了...