gpt4 book ai didi

java - 如何从 Android webview 中加载的 HTML 中获取 DOM 的内容?

转载 作者:行者123 更新时间:2023-12-01 14:48:59 45 4
gpt4 key购买 nike

例如:网页在 WebView 中加载

<script>
$(document).ready(
function(){
$.get(
'/my.url',
function(data){
$('#e').html(data);
}
);
}
);
</script>
<div id='e'></div>

如何从Java代码中获取DOM id 'e'的内容或者在'get'回调中获取内容?

java部分最终 WebView 浏览器 = (WebView)findViewById(R.id.browser);

如何利用浏览器提取webview中的内容?

最佳答案

我发现的唯一方法是让 JS 通过 JS 接口(interface)将值发送到您的设备。看看here关于这个。

然后你有两个选择,要么从 $(document).ready 回调调用接口(interface),要么使用 webView.loadUrl("javascript:XXXX") 调用 JS 函数来获取 DOM 中的值并将其传递到您的界面。

在我的项目中,我需要在加载网页时从网页中获取一些值。我开发了一个 WebAppInfoLoader,它调用一个 JS 函数,该函数返回所请求变量的值:

mWebView.loadUrl(String.format("javascript:sendValueToDeviceInterface(%s);", jsValue.getId()));

然后,JS 函数调用接口(interface),通知加载器已收到值。当加载程序收集完所有值后,他自己会通知调用对象。

谷歌没有推出像 iOS 上那样更简单的系统,这是非常复杂和非常不幸的。

关于java - 如何从 Android webview 中加载的 HTML 中获取 DOM 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080927/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com