Russian Qt Forum

Qt => Вопросы новичков => Тема начата: AntonUfo от Декабрь 05, 2014, 12:00



Название: Как вернуть весь HTML из QWebView ?
Отправлено: 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 вся страница уже фактически есть, но как ее получить полностью со всеми тэгами ?


Название: Re: Как вернуть весь HTML из QWebView ?
Отправлено: iskander.ali от Декабрь 08, 2014, 05:24
После получения сигнала загрузки страницы (loadFinished()), получаем код страницы - view->page()->mainFrame->toHtml().


Название: Re: Как вернуть весь HTML из QWebView ?
Отправлено: AntonUfo от Декабрь 17, 2014, 15:41
такой вариант не подходит, т.к. как я уже говорил HTML и BODY таким образом не будут сохранены...