Android 通过webview仅显示网页的一部分
我正在构建我的第一个应用程序,它需要一个活动来显示webview中的网页部分。该网页包含许多添加内容和其他我不想让我的应用程序显示的无关内容 例如,我以youtube为例,试图不显示身体。我检查了youtube页面,发现页面容器作为页面中心主体部分的idAndroid 通过webview仅显示网页的一部分,android,Android,我正在构建我的第一个应用程序,它需要一个活动来显示webview中的网页部分。该网页包含许多添加内容和其他我不想让我的应用程序显示的无关内容 例如,我以youtube为例,试图不显示身体。我检查了youtube页面,发现页面容器作为页面中心主体部分的id public class ResultsActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) {
public class ResultsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_results);
final WebView webview = (WebView)findViewById(R.id.results_webview);
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url)
{
webview.loadUrl("javascript:function() { " +
"document.getElementById('page-container')[0].style.display='none'; " +
"})()");
}
});
webview.loadUrl("https://www.youtube.com");
}
但是onPageFinished函数中的javascript代码不起作用。整个youtube页面将在应用程序中打开。我想你必须通过检查网页手动检查id。一旦你得到了,你可以使用这个类似的线程中提到的
Document doc = Jsoup.connect(URL).get();
Elements elementsHtml = doc.getElementById(id);
for(Element element: elementsHtml)
{
Log.i("ELEMENTI",URLDecoder.decode(element.text(), HTTP.UTF_8));
}