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