Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam.
Założenia są dość proste:
1) program uruchamia wbudowaną przeglądarkę i wczytuje podaną stronę (do tego momentu wszystko wiem).
2) po wczytaniu strony program musi wstrzyknąć kawałek javascriptu (dość duży) i wywołać jedną funkcję w tym JS.
3) po wykonaniu funkcji ma odczytać ze strony wartość dodanych przez funkcję elementów.
Pytanie: da się coś takiego osiągnąć bez zbytniego kombinowania? Jeśli tak, to w którym miejscu dokumentacji tego szukać?
Python dlatego że program ma robić parę innych niemniej ważnych rzeczy (większość kodu mogę sobie zapożyczyć z innej, działającej aplikacji).
Offline
Pewnie trzeba pokombinować, na tym polega programowanie z grubsza. Co do miejsca w dokumentacji, chcesz żeby wskazać konkretną stronę czy rozdział bo ci się nie chce poszukać? Nie stanie ci się krzywda jak przejrzysz całą dokumentację by to znaleźć.
Offline
blogoslawieni ci, ktorzy nie majac nic do powiedzenia nie ubieraja tego w slowa...
Offline
Z JS się nie bawiłem, ale pewnie się da coś takiego zrobić.
Jeśli chodzi o dokumentację to:
1. Tutorial Python GTK3 (http://python-gtk-3-tutorial.readthedocs.org/en/latest/). Ważne jest to, że w wersji trzeciej dostęp do metod GTK z poziomu Pythona odbywa się przez mechanizm GObject Introspection. W ten sposób masz również dostęp do wszystkich obiektów WebKit-a. W wersji drugiej z poziomu Pythona miałeś tylko podstawowy dostęp do metod WebKit-a. Nie można było np. zmodyfikować pobranej strony.
2. dokumentacja WebKitGtk (http://webkitgtk.org/reference/webkitgtk/unstable/index.html) jest nawet fajnie opisana.
Gorzej z modelem DOM, do którego nie znalazłem dokumentacji, ale w tej "książce" (http://webkitgtk.org/Cookbook%200.1b.pdf) opisano jak sobie z tym problemem poradzić.
Podczas pisania kodu może Ci się przydać iPython, on ładnie pokazuje jakie masz dostępne metody w obiektach.
Offline
[quote=ethanak]blogoslawieni ci, ktorzy nie majac nic do powiedzenia nie ubieraja tego w slowa...[/quote]
Raczej błogosławieni ci, którzy zadają głupie pytania żądając sensownej odpowiedzi. Ciekawe czy odpowiedź kolegi r0stera cie zadowoli, wkleił linki do dokumentacji, ale nie wskazał "którym miejscu dokumentacji tego szukać". Poszukasz sobie, czy dalej będziesz czekał aż ktoś ci znajdzie?
Offline
[quote=r0ster]W wersji drugiej z poziomu Pythona miałeś tylko podstawowy dostęp do metod WebKit-a. Nie można było np. zmodyfikować pobranej strony.[/quote]
No to mogłęm sobie czytać do us... śmierci. Dzięki, dokładnie o takie informacje chodziło.
Trochę szkoda że trójka potrzebna bo to mi trochę zmienia plany z serwerami ale jakoś sobie poradzę.
@kamikaze: ty jesteś naprawdę idiota czy takiego zgrywasz? Zadałem pytanie (konkretne), dostałem odpowiedź (konkretną, rzeczową, wystarczającą i przy okazji wyjaśniającą kwestię o której nie wiedziałem), a oprócz tego dwa posty wymądrzającego się moderatora. Coś ci się, nie spodobało? Możesz uprzejmie powiedzieć co? Znasz w ogóle chociaż trochę temat? Czy po prostu chciałeś pokazać jaki to mądry jesteś?
Więc pokazałeś tylko, że jesteś bucem i zabierasz głos w temacie na który nie masz zielonego pojęcia.
Młody człowieku, przyhamuj i swoje chamstwo pozostaw dla rówieśników. Nie ucz mnie programowania, bo coś mi się wydaje[1] że z tej profesji całkiem nieźle mi się żyło w czasach kiedy ty na chleb mówiłeś pep a na muchy tapty. Poza tym jeśli znałeś odpowiedź to jesteś po prostu tym co koń pod brzuchem nosi bo zamiast odpowiedzieć zgrywałeś wielkiego znawcę i genialnego programistę (przy okazji wyciągając na świat przedszkolne frustracje typu "wiem ale nie powiem"). Jeśli nie znałeś, coż... po prostu mały, głupi człowieczek który chce pokazać jaki jest wielki i mądry... ino nie wychodzi.
[1] oczywiście mogę się mylić i okaże się, że kol. kamikaze to dziarski 60-latek, który w latach 70-tych (kiedy to ethanak pierwsze lekcje Fortranu pobierał) był znanym programistą tudzież owego ethanaka wykładowcą i teraz po prostu wyżywa się na swoich dawnych studentach.
Offline
Panowie, trochę powagi...
Offline
Ech widać problem z czytaniem, jak masz te 60 lat to może już wzrok nie ten, jakieś okularki byś sobie mocniejsze sprawił. Może w kwestii wyjaśnienie (jeszcze raz). Pisałeś żeby ci wskazać miejsce w dokumentacji (jakiej, nie wiem, domyśliłem się, że webkita). Dziwi mnie teraz, że programista, a w dokumentacji nic znaleźć nie potrafi. Głównie denerwuje fakt, że ktoś chce żeby za niego szukać i imho warto to tępić (wiek tępionego i doświadczenie nie ma znaczenia, lenistwo to lenistwo). Tępionemu wyjdzie to na dobre przecież. Jak sam poszpera to przy okazji więcej się nauczy. Ale wyszło teraz, że najwyraźniej chciałeś linków do dokumentacji zamiast wskazania dokładnego miejsca. Kto by pomyślał, że ktoś pisząc o jednym myśli o innym. Tyle, dalej nie rozumiesz trudno. Aleś się naskrobał, że też ci się chciało.
Offline
Zwróć uwagę, że dokumentacja do Python Webkit jest bardzo uboga o ile istnieje. Ja sam przez przypadek znalazłem informację o GObject Introspection co uratowało mi życie. Nawet w dokumentacji do WebKitGtk nie ma opisanych klas i metod potrzebnych do "manipulacji" zawartością strony. W pdf-ie, do którego dałem linka, autor sam napisał, że takiej dokumentacji nie ma, albo jest słabo napisana. Przez co jak ktoś chce coś znaleźć informacje na temat Python i Webkit musi dużo poszperać w Internecie, aż przez przypadek znajdzie odpowiednią informację. Mi się to udało, więc dzielę się ciężko nabytą wiedzą.
Offline
[quote=kamikaze]Ech widać problem z czytaniem, jak masz te 60 lat to może już wzrok nie ten, jakieś okularki byś sobie mocniejsze sprawił.[/quote]
Kwestię niekorygowalnych wad wzroku pominę może milczeniem. O chamstwie już chyba wspominałem, nie? Ja się z Ciebie nie wyśmiewam że masz dysleksję (gdzie ja pisałem że mam 60 lat?)
Może w kwestii wyjaśnienie (jeszcze raz). Pisałeś żeby ci wskazać miejsce w dokumentacji (jakiej, nie wiem,[/quote]
To jak nie wiesz to kiego grzyba się odzywasz?domyśliłem się, że webkita).[/quote]
Po przeczytaniu odpowiedzi na moje pytanie jeszcze się nie domyśliłeś że się źle domyśliłeś i nie powinieneś się wychylać?Dziwi mnie teraz, że programista, a w dokumentacji nic znaleźć nie potrafi. Głównie denerwuje fakt, że ktoś chce żeby za niego szukać[/quote]
Kto ci, cymbale, mówił że ktoś ma za mnie szukać? W teorii wystarczyłaby mi odpowiedź "tak, da się zrobić" (czyli dla mnie informacja że mam szukać dalej do skutku bo pewnie coś pominąłem) lub "nie, nie da się" (czyli mogę sobie darować i zmienić założenia projektu). Jeśli kol. r0ster był na tyle uprzejmy, że przy okazji podał mi najważniejszą informację - ma u mnie duuuże piwo.Ale wyszło teraz, że najwyraźniej chciałeś linków do dokumentacji zamiast wskazania dokładnego miejsca. Kto by pomyślał, że ktoś pisząc o jednym myśli o innym.[/quote]
Bo zadałem pytanie ludziom inteligentnym z czego wynika bezpośrednio, że Ciebie o odpowiedź nie prosiłem.
Zresztą - przeczytaj sobie ostatni post r0stera ze szczególnym uwzględnieniem zdania o braku dokumentacji, a potem grzecznie przeproś wszystkich za swoje zachowanie i obiecaj że następnym razem zanim kogoś odeślesz do dokumentacji sprawdzisz przynajmniej, czy takowa istnieje.
EOT
Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]Offline
Nie przeginasz?
Offline
Który jednakowoż w kwestii przedmiotu sporu (już niekoniecznie formy) ma rację. Naprawdę zadał pytanie po pierwsze czy to w ogóle możliwe (jak się okazuje całkiem zasadne) i dopiero po drugie gdzie ew. informacje na ten temat znaleźć (jak się okazuje również nie tak całkiem bezpodstawne).
Ostatnio edytowany przez azhag (2012-01-11 13:53:27)
Offline
Chyba inaczej zrozumiałem "w którym miejscu dokumentacji", jednak nie chodziło o konkretną dokumentację, a o całe morze różnej dokumentacji. Na pytanie czy to możliwe i kwestią kombinowania, to zawsze możliwe zależy od granic kombinowania. Ale imho głupie komentarze zamiast doprecyzowania pytania są nie na miejscu.
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00010 | SET NAMES latin2 |
0.00137 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.139.234.124' WHERE u.id=1 |
0.00069 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.139.234.124', 1732300420) |
0.00063 | SELECT * FROM punbb_online WHERE logged<1732300120 |
0.00051 | SELECT topic_id FROM punbb_posts WHERE id=189992 |
0.00007 | SELECT id FROM punbb_posts WHERE topic_id=20377 ORDER BY posted |
0.00028 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=20377 AND t.moved_to IS NULL |
0.00020 | SELECT search_for, replace_with FROM punbb_censoring |
0.00142 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=20377 ORDER BY p.id LIMIT 0,25 |
0.00082 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=20377 |
Total query time: 0.00618 s |