Tengo este código javascript a continuación que quiero ejecutar rápidamente para extraer html, pero recibí el siguiente error: No se puede encontrar ValueCallback en el alcance.
view.evaluateJavascript( "(function() { return ('<html>'+document.getElementById('html').innerHTML+'</html>'); })();", new ValueCallback<String>() { @Override public void onReceiveValue(String html) { print(html); } } );La función evaluateJavascript tiene una firma diferente
/* @abstract Evaluates the given JavaScript string. @param javaScriptString The JavaScript string to evaluate. @param completionHandler A block to invoke when script evaluation completes or fails. @discussion The completionHandler is passed the result of the script evaluation or an error. Calling this method is equivalent to calling `evaluateJavaScript:inFrame:inContentWorld:completionHandler:` with: - A `frame` value of `nil` to represent the main frame - A `contentWorld` value of `WKContentWorld.pageWorld` */ open func evaluateJavaScript(_ javaScriptString: String, completionHandler: ((Any?, Error?) -> Void)? = nil)Tendrías que cambiar tu código a
view.evaluateJavascript("(function() { return ('<html>'+document.getElementById('html').innerHTML+'</html>'); })();") { value, error in print(value) )