0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 114
1

Получить html из WebView

22.06.2014, 10:56. Показов 8883. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Собственно вопрос в том, как получить html уже загруженной страницы в WebView?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2014, 10:56
Ответы с готовыми решениями:

WebView и .html в assets
Как загрузить локальный файл.html из assets в WebView? Через loadUrl получается, но тогда не...

WebView ошибка в html
добрый вечер. выдает ошибку html сама ошибка FAILURE: Build failed with an exception. *...

WebView не отображает локальную html страницу
В общем пытался я отобразить в webview локальную html страницу. Но не тут то было. Он не захотел ее...

WebView и html файлы в Internal Storage
С html файлами, находящимися в assets, можно работать из WebView, переходя по относительным сылкам...

13
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
22.06.2014, 13:11 2
http://developer.alexanderklim... ebview.php
0
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 114
22.06.2014, 14:36  [ТС] 3
В этой статье идет речь о том, какие есть варианты загрузки html и как лучше оптимизировать для просмотра.

У меня уже страница загружена, мне надо взять весь html страницы(которая уже отображается в WebView) и записать его в переменную, а потом уже с этой переменной совершать другие действия. Как взять этот html?
Может есть типа такого что-то: webView.getInnerHtml();
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
22.06.2014, 15:49 4
Лучший ответ Сообщение было отмечено mizha как решение

Решение

mizha, не думаю, что это сложно, тем более я это делал на примерах, но уже позабыл.
А Вам никак без WebView не обойтись? Может просто использовать Jsoup например, тут я могу помоч.
1
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 114
22.06.2014, 17:37  [ТС] 5
WebView у меня выполняет js и после того, как он отработал мне надо на сервер отправлять страницу которая в данный момент загружена в WebView. Если есть вариант, как через Jsoup загрузить в переменную html код страницы, то мне и такой вариант подойдет, а если нет, то может есть какая-то альтернатива этому делу?
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
22.06.2014, 17:42 6
Лучший ответ Сообщение было отмечено mizha как решение

Решение

Цитата Сообщение от mizha Посмотреть сообщение
как через Jsoup загрузить в переменную html код страницы
Нет ничего проще:
Java
1
2
3
Document doc = Jsoup.connect(link).get();
String text = doc.text();
String html = doc.html();
2
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 114
22.06.2014, 18:39  [ТС] 7
Идея хорошая, но меня что-то не выходит(((( Постоянно требует заключить в try/catch, если заключаю, то приложение вылетает. Заключить просит это:
Java
1
Document doc = Jsoup.connect("http://example.com/").get();
Я его в разные места перемещал(Ваш пример), но результат везде одинаков(((
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
22.06.2014, 18:56 8
Лучший ответ Сообщение было отмечено mizha как решение

Решение

Цитата Сообщение от mizha Посмотреть сообщение
Постоянно требует заключить в try/catch
Ну так это само собой. А Вы надеюсь в отдельном потоке запускаете? Если в активити, то будет ошибка.
1
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 114
23.06.2014, 12:23  [ТС] 9
Да, я уже разобрался, что это проблема в отсутствие знаний у меня) Поставил в отдельный поток и всё заработало как надо. Очень выручили меня с этим делом. Буду дальше бороться с этим делом)

Добавлено через 15 часов 50 минут
Jsoup не спас ситуацию((( Он то получается html и мне сперва показалось что всё отлично, но... Например, я зашел на сайт http://example.ru/ и выполнил такой JS:
Javascript
1
javascript:document.getElementsByTagName('html')[0].innerHTML = 'new page text'
и получается, что на странице есть только текст "new page text", а в Jsoup загружается ссылка по новому...Таким образом получается, то на странице показано одно, а загружаю другое.

!!!ТЕМА до сих пор актуальна!!!

Как можно из WebView получить содержимое страницы?

Добавлено через 1 час 8 минут
Нашел вариант решения! =))) Возможно это еще кому либо надо будет, вот решение:
http://stackoverflow.com/a/14731187
0
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 34
17.03.2015, 18:54 10
не понял как оно работает,
куда сохраняется HTML код ?
0
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 9
28.01.2020, 19:35 11
вот этот способ мне отлично помог

Java
1
2
3
Document doc = Jsoup.connect(link).get();
String text = doc.text();
String html = doc.html();
0
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 9
08.05.2021, 18:17 12
Ваш JSoup портит всю малину и заставляет учить дополнительно многопоточность, ибо при попытке его использовать вылезает
Код
android.os.NetworkOnMainThreadException
.
0
344 / 236 / 33
Регистрация: 16.01.2010
Сообщений: 747
08.05.2021, 21:35 13
Учите, у Андрюхи все сетевые запросы, только через потоки.
0
0 / 0 / 0
Регистрация: 15.02.2017
Сообщений: 9
09.05.2021, 01:35 14
Цитата Сообщение от Vladimirys Посмотреть сообщение
Учите, у Андрюхи все сетевые запросы, только через потоки.
Ну, я же поступил так.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
LinearLayout lv = findViewById(R.id.list);
TextView tw = lv.findViewWithTag("listItem0");
String finalTemp = temp; //Дублирование текстовой строки 
WebView wv = findViewById(R.id.webView); //Достучаться до WebView
wv.loadUrl("https://pastebin.com/"+temp); //Загрузка страницы
wv.getSettings().setJavaScriptEnabled(true); //Разрешение использования JS 
wv.setWebViewClient(new WebViewClient() { 
    public void onPageFinished(WebView view, String url) { //Событие onload для WebView
        wv.evaluateJavascript("(function(){return  window.document.body.outerHTML.indexOf(\"Not Found (#404)\")})();", //Выполнение JS в воображаемой консоли
        new ValueCallback<String>() { //Чтение результата выполнения JS
            @Override
            public void onReceiveValue(String html) { //Обработка результата JS
                if (html.equals("-1")) {
                    tw.setText(finalTemp + " (404)"); //Отображение 404 в элементе TextView 
               }
            }
        });
    }
});
Действо работает, осталось отточить его в моем коде.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2021, 01:35
Помогаю со студенческими работами здесь

Сжатие html и css в webview приложении на android studio
сжатие html и css в webview приложении на android studio возможно ли методами андроид студио...

Как вставить локальную картинку в локальный HTML файл (webview)
как вставить локальную картинку в локальный HTML файл при использовании webview в андроид студио?

Доступ из HTML кода страницы, загруженной в WebView, к данным приложения
Возможно ли это? В частности, мне нужно передать джаваскрипту страницы версию установленного...

WebView. Получить исходный код
В моем приложении есть WebView. Я выполняю манипуляции в нем и мне нужно получить исходный код...

Переход в WebView от одного локального html файла к следующему через ссылку
Здравствуйте! Мною была создана программа-справочник, которая через компонент WebView открывает...

Как в WebView загрузить HTML и CSS файлы которые находятся в String
Здравствуйте! Такой вопрос. HTML и CSS файлы находятся, например, в String A и B. C HTML все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru