![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kodzik :
Kod QWebPage page; QWebFrame * frame = page.mainFrame(); frame->setHtml(str); QWebElement document = frame->documentElement(); QWebElementCollection tables = document.findAll(".table"); int numTables = tables.count(); qDebug() << numTables; return; Pod zmienną str znajduje się źródło tej strony : http://panoramafirm.pl/szukaj/mazowieckie,...wa/firmy,1.html Chcę pobrać ilość elementów o klasie table. Niestety program podaje, że tych elementów jest 0. Podczas gdy w rzczywistości jest ich 15. Gdy zamiast ".table" dam "a", to zwraca mi to 17, czyli jakieś linki znajduje ale chyba jest ich ciut za mało. W czym może być problem ? Wszystkie tabelki są w divie o klasie "results" <- tego diva nie mogę pobrać. Mogę za to pobrać div o nazwię 'socialIcons right" ale nie w całości - na nim program kończy parsowanie. Ten post edytował peter13135 4.08.2012, 16:07:05 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
http://www.sendspace.pl/file/b9a852801bddf23ea604782
Wywaliłem całe gui i inne rzeczy, żebyś nie musiał zbyt wiele szukać (IMG:style_emoticons/default/wink.gif) edit:// Co tak umilkłeś ? (IMG:style_emoticons/default/tongue.gif) Nie chcesz mi już pomóc ? (IMG:style_emoticons/default/sad.gif) edit:// Zrobiłem Twoją metodą, tzn nie łąduję za pomocą QNetworkManagera, tylko za pomocą QWebPage i teraz działa. Nie wiem tylko czemu tak wolno. I nadal nie wiem czemu sposób z użyciem setHtml() nie działa. Pozwolę nieco skomentować Twój wcześniejszy post. Cytat 1. Następnym razem dołączaj cały kod, nie wróżymy z fusów Jeśli by problemem miała być asynchrnicznicznie działąjąca klasa (czy o czym tam mówiłeś), to w moim kodzie wyraźnie widać, że od razu po wywołaniu setHtml, "parsuję" cały dokument. Poza tym, tak się składa, że błąd jest właśnie gdzieś w tym kodzie, który dałem w pierwszym poście. Cytat 2. Poczytaj o sygnałach, slotach i event driven programming. Po co ? Cytat Wczytaj się w dokumentację samego qt- w pewnym momencie myślałem, że wklejasz html do qLineEdit który ma limit długości(patrz pkt.1) Jak się ma początek tego zdania, do drugiej części ? Jak się ma moje "wczytywanie w dokumentację Qt" do tego, że myślałeś, że wklejam html do QLineEdit ? Co zasugerowało, że wklejam html do QLineEdit ? Przecież na podstawie mojego kodu widać bardzo przejrzyście, instancją jakiej klasy jest każda ze zmniennych, bo właśnie w tej funkcji są one deklarowane. Może poza zmienną str, ale po nazwie możesz się domyśleć, że to QString, oraz po tym, że metoda QWebFrame::setHtml() przyjmuje parametr QString (a nie żadne QLineEdit). Ten post edytował peter13135 9.08.2012, 22:16:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 13:58 |