crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QWebFrame переставляет тэги в html и "обрезает" его, Вопрос по QWebFrame и qDebug()
Lemur
  опции профиля:
сообщение 20.2.2011, 20:10
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 20.2.2011
Пользователь №: 2424

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброе время суток.
Я ньюб в C++ и Qt, прошу отнестись с пониманием. Есть html страница со сложным форматированием(например http://www.vsetv.com/schedule_package_uaba...011-02-21.html). Сохраняю на винте и запихиваю в QWebFrame. Через QWebView страница выводиться нормально(ничего не отрезано). Однако если вывести содержимое с QWebFrame на QDebug() или сделать поиск тэгов(findAll), то становиться ясно что во первых хтмл сильно порезан(фактически только начало файла), во-вторых вебфрэйм самовольно расставил завершающие тэги совершенно, не там, где они находились в оригинальном хтмл. Что произошло? Можно ли с этим бороться? Мне удобно было бы искать элементы по html именно таким образом. И вопрос вдогонку, не совсем по теме: какое ограничение по выводу на экран есть у qDebug()? сколько символов? Спасибо!

    QWebView webView;
    QWebFrame *frame = webView.page()->mainFrame();    
    frame->setHtml(stringFromFile);
    qDebug() << "frame html value: " << frame->toHtml();


    QWebElement document = frame->documentElement();

    QWebElementCollection collection = document.findAll("tr");
    foreach (QWebElement paraElement, collection) {

         qDebug() << "> Element value <: " << paraElement.toOuterXml();
     }

    webView.show();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 21.2.2011, 10:18
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Lemur @ 20.2.2011, 20:10) *
Что произошло? Можно ли с этим бороться?

можно предположить что WebKit не показывает тебе документ полностью. цель этого возможно экономия ресурсов.
могу предложить опискать в файле то что тебе нужно с помощью QRegExp ...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Lemur
  опции профиля:
сообщение 21.2.2011, 14:49
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 20.2.2011
Пользователь №: 2424

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(kwisp @ 21.2.2011, 9:18) *
Цитата(Lemur @ 20.2.2011, 20:10) *
Что произошло? Можно ли с этим бороться?

можно предположить что WebKit не показывает тебе документ полностью. цель этого возможно экономия ресурсов.
могу предложить опискать в файле то что тебе нужно с помощью QRegExp ...


Гм...странно, для чего тогда метод фрейма toHtml() нужен. И ещё лично для меня интересный момент - почему-то когда загружаешь методом load() веб-вью какую-то страницу, она отлично отображаеться через show(), однако получить доступ к коду этой странице через toPlainText() или toHtml() я не могу.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 15:51