在我的 Android 应用程序中,我使用 EngineSession (由 EngineView 渲染)来显示数据。事实上,这些数据是纯 JSON。有没有办法可以直接从 EngineSession 抓取/抓取 HTML,以便我可以访问返回的 JSON?
如果我使用的是 WebView,我可以使用 WebView 的
evaluateJavascript()
功能。
我看到的唯一可以导出 HTML 数据的 EngineSession 函数是:
但是这些函数都不能直接访问正在显示的原始 HTML。我该怎么办?
我将不胜感激任何帮助或指示。
我做了一些研究。然后
webview
在以下情况下注意到部署。
它被加载到相关的webView中。
override fun render(session: EngineSession) {
val internalSession = session as SystemEngineSession
this.session = internalSession
internalSession.view = WeakReference(this)
internalSession.initSettings()
internalSession.scheduledLoad.data?.let {
// it -> string html
currentWebView.loadData(it, internalSession.scheduledLoad.mimeType, "UTF-8")
internalSession.scheduledLoad = ScheduledLoad()
}
internalSession.scheduledLoad.url?.let {
currentWebView.loadUrl(it, additionalHeaders)
internalSession.scheduledLoad = ScheduledLoad()
}
}
如果您可以访问
engineSession
。你可以使用
val internalSession = session as SystemEngineSession
var data = internalSession.scheduledLoad.data