Как достать html код страницы из webview android?

Пользователь

от loyal , в категории: Другие , 6 месяцев назад

Как достать html код страницы из webview android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от rebekah , 6 месяцев назад

@loyal 

Вы можете получить html-код страницы от Webview в Android, используя следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
WebView webView = findViewById(R.id.webView); // получите ссылку на объект WebView
String htmlCode = "";
    
webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        // Получить html-код после загрузки страницы
        view.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
    }
});
    
webView.addJavascriptInterface(new Object() {
    @JavascriptInterface
    public void processHTML(String html) {
        // Обработка полученного html-кода
        htmlCode = html;
        // Выполните дальнейшие действия с html-кодом страницы
    }
}, "HTMLOUT");
    
webView.loadUrl("https://www.example.com"); // Загрузка страницы в WebView


Здесь мы устанавливаем кастомный WebViewClient и добавляем объект JavascriptInterface, который позволяет вызвать метод Java из JavaScript. Мы вызываем метод processHTML в Java, передавая html-код страницы в качестве параметра. Затем вы можете использовать полученный htmlCode для дальнейшей обработки.


Обратите внимание, что здесь используется JavaScript для получения html-кода, поэтому убедитесь, что JavaScript включен в вашем WebView.


В дополнение к этому коду, вам также может потребоваться добавить следующую строку в файл манифеста Android, чтобы предоставить разрешение на доступ к Интернету:

1
<uses-permission android:name="android.permission.INTERNET" />