Android WebView獲取html源碼

通過執行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有些內容是異步加載,那麼唯一的方法就只能是等待幾秒後再執行上面的獲取源碼的方法了...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章