Russian Qt Forum
Ноябрь 01, 2024, 01:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как вернуть весь HTML из QWebView ?  (Прочитано 2740 раз)
AntonUfo
Гость
« : Декабрь 05, 2014, 12:00 »

Добрый день !

Получаю в QWebView html страницу по нужному мне Url, далее:
//получаю у текущего view его страницу
QWebPage *page = view->page();
//получаю фрэйм этой страницы
QWebFrame *frame = page->mainFrame();

Мне необходимо сохранить содержимое, весь HTML, в текстовый файл, но метод:
QString QWebFrame::toHtml () const
Возвращает содержимое фрейма в HTML, заключенный в теги HTML и BODY.
т.е. HTML и BODY таким образом не будут сохранены, что делать ? как быть ?

Спасибо !

ЗЫ:
я знаю что можно поступить так:
QNetworkAccessManager* accessManager = view->page()->networkAccessManager();
QNetworkRequest request(view->url());
QNetworkReply* reply = accessManager->get(request);
connect(reply, SIGNAL(finished()), this, SLOT(slotSourceDownloaded()));

и в слоте далее к примеру:
textEdit->setPlainText(reply->readAll());

но мне такой вариант не подходит, т.к. в этом случае для того что бы сохранить HTML приходится отправлять на сервер еще один запрос, что не допустимо, тем более что в QWebView вся страница уже фактически есть, но как ее получить полностью со всеми тэгами ?
« Последнее редактирование: Декабрь 05, 2014, 12:04 от AntonUfo » Записан
iskander.ali
Гость
« Ответ #1 : Декабрь 08, 2014, 05:24 »

После получения сигнала загрузки страницы (loadFinished()), получаем код страницы - view->page()->mainFrame->toHtml().
Записан
AntonUfo
Гость
« Ответ #2 : Декабрь 17, 2014, 15:41 »

такой вариант не подходит, т.к. как я уже говорил HTML и BODY таким образом не будут сохранены...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.1 секунд. Запросов: 20.