Android 在xpath上计算JavaScript时,WebView始终返回空字符串
网络视图设置:Android 在xpath上计算JavaScript时,WebView始终返回空字符串,android,xpath,kotlin,webview,Android,Xpath,Kotlin,Webview,网络视图设置: webView = findViewById(R.id.webView) webView.settings.javaScriptEnabled = true 加载URL。我可以看到加载的页面。然后: webView.evaluateJavascript("document.evaluate('/html/body/h1', document, null, XPathResult.STRING_TYPE).stringValue.toString()", { Log.i(
webView = findViewById(R.id.webView)
webView.settings.javaScriptEnabled = true
加载URL。我可以看到加载的页面。然后:
webView.evaluateJavascript("document.evaluate('/html/body/h1', document, null, XPathResult.STRING_TYPE).stringValue.toString()", {
Log.i("Test",it)
})
日志始终打印“”
document.evaluate('/html/body/h1',document,null,XPathResult.STRING\u TYPE)。stringValue.toString()在chrome控制台中工作。evaluateJavaScript的参数包括:
evaluateJavaScript(String script, ValueCallback<String> resultCallback)
evaluateJavaScript(字符串脚本,ValueCallback-resultCallback)
您没有回调函数和由ValueCallback参数生成的onReceiveValue(字符串值)函数。试试这个:
webView.evaluateJavascript("document.evaluate('/html/body/h1', document, null, XPathResult.STRING_TYPE).stringValue.toString()", new ValueCallback<String>(){
@Override
public void OnReceiveValue(String value)
{
System.out.println("Value: " + value);
}
});
webView.evaluateJavascript(“document.evaluate('/html/body/h1',document,null,XPathResult.STRING_TYPE)。stringValue.toString()”,new-ValueCallback(){
@凌驾
公共无效OnReceiveValue(字符串值)
{
System.out.println(“值:”+Value);
}
});