我有一个从服务器加载 web 视图的 android 应用程序。我没有服务器代码,所以我无法更改 Javascript 中的任何内容。我想弄清楚在 web 视图中单击按钮的时间以及按钮中的标签是什么。我不知道Id,我只想得到标签。
我尝试搜索此内容,但找不到答案。我找到了可以在 javascript 中工作的解决方案,但就我而言,我不能。
此建议可能有助于找到有助于确定按钮标签的有用信息。OverrideshouldOverrideUrlLoading()
和shouldInterceptRequest()
/或onLoadResource()
forWebViewClient
以便您可以访问任何重定向的 URL。
例子:
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// Try to learn something useful from the 'url' here.
// Continue as normal, loading the 'url' within this WebView.
view.loadUrl(url);
return false; // Allow the WebView to handle the request.
}
// Optional: Add similar for "shouldInterceptRequest()" and/or "onLoadResource()".
});
注意:上面的覆盖shouldOverrideUrlLoading()
是使重定向保持不变WebView
而不是重定向到默认浏览器应用程序的标准方法。
您可能真的想检查此页面:
在 WebView 中构建 Web 应用程序(Google API 指南)
具体来说,似乎 addJavascriptInterface 可能是您正在寻找的:
addJavascriptInterface(对象对象,字符串名称)
它允许您从 javascript 执行您的 Java 代码,并且与在页面中插入代码的能力相结合,它是一个非常强大的工具,可让您在 Activity 和页面之间实现高度耦合。
我认为此时您已经知道该怎么做,但无论如何我都会勾勒出一个可能的行动方案:
希望这可以帮助