Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP] Soft rozpoznający rezultat wysłania formularza
Forum PHP.pl > Forum > Przedszkole
wNogachSpisz
Cel:
Stworzenie softu rozpoznającego charakter odpowiedzi strony www po wysłaniu dowolnego formularza.

Technologie:
Dowolne.

Opis:
Szukam pomysłu na soft, który rozpozna charakter odpowiedzi serwera po wysłaniu dowolnego zapytania. Najczęstszy scenariusz jest taki, że po wysłaniu formularza, np. dodającego komentarz czy logowania, następuje przekierowanie do strony na której pojawia się jakiś komunikat. Chce żeby mój soft radził sobie z takim scenariuszem i mam na to pomysł:
Można by porównać stronę z komunikatem ze stroną na której wysłaliśmy formularz, większość elementów DOM powinna się powtarzać, można by zignorować powtórzone, i przetworzyć nowe nadając każdemu atrybuty opisujące jego wygląd:
- szeroki
- wąski
- wysoki
- niski
- czerwony
- zielony
- szary
- czarny
- z N liniami tekstu
- z N znakami tekstu
- itp.

Następnie kazać programowi sprawdzić czy na stronie pojawił się „szeroki lub umiarkowanie szeroki, wysoki lub umiarkowanie szeroki, zielony element, z kilkoma zdaniami”. Jeśli tak to pewnie jest to komunikikat informujący o powodzeniu. W uproszczeniu tak działa człowiek ;p

Czekam na sugestie oraz inne pomysły na osiągnięcie celu.


bump
daniel1302
Mi to kojarzy się z logiką rozmytą i sieciami neuronowymi. Ciekawą rzeczą jest, że Google zrobiło sieć którą podłączyli do interentu a ona jedyne czego sie nauczyła z całej zgromadzonej w nim wiedzy to rozpoznawać koty(please...) nie wiedząc czym jest kot smile.gif

Mi ta strona bardzo pomogła, w miare łopatologiczne wytłumaczone(na spodzie przykłady zastosowania):
http://www.ai.c-labtech.net/sn/sneuro.html#neuron
wNogachSpisz
Cytat(daniel1302 @ 2.01.2013, 17:53:53 ) *
Mi to kojarzy się z logiką rozmytą i sieciami neuronowymi.

Mi nie. To Zwykły program, tyle że wynik jest niepewny.

//bump
CuteOne
Yyyy a nie łatwiej sprawdzić czy słowo "pomyślnie", "zalogowano" itp. pojawi się na stronie (zakładając, że w ogóle jakiś komunikat się pojawi) zamiast szarżować na drzewo DOM?
sowiq
Cytat
Szukam pomysłu na soft, który rozpozna charakter odpowiedzi serwera po wysłaniu dowolnego zapytania

Pomysł już masz. Pozostaje sposób wykonania.

Co do parsowania DOM, to ja bym podchodził bardzo ostrożnie do rozpoznawania niski/wysoki, czerwony/zielony. Dlaczego? Ano dlatego, że jak wciągniesz HTML z odpowiedzią, to dodatkowo będziesz musiał pobrać wszystkie pliki CSS i znaleźć, które reguły mają zastosowanie do konkretnego elementu (który Twoim zdaniem wyświetla komunikat, ale wcale tak nie musi być). A jeśli chodzi o parsowanie CSS to musisz wziąć pod uwagę kaskadowość, ważność tag/klasa CSS/ID elementu, zagnieżdżenia, !important i tak dalej... Nie przewidzisz co poeta-frontend developer wymyślił w kodzie smile.gif

Ja bym się chyba bardziej skupił (już po znalezieniu właściwego elementu) na określeniu czy ma nadaną jakąś klasę CSS - success, ok / warning, error, validation_problem etc. Ewentualnie jakieś style pisane inline - wtedy możesz sprawdzić czy jest tam jakaś ikonka, czy tło jest zielone itp.


BTW, sorry za bycie podejrzliwym, ale Twój opis brzmi jakbyś chciał napisać jakiegoś spamującego bota, a takiego zachowania nie pochwalam zupełnie.
wNogachSpisz
Dzięki za odpowiedź.

Chciałbym wyjaśnić, że nie robie spamującego bota.

Dokument zostaje otwarty przez prawdziwą przeglądarkę, więc ocenanie kolorów i rozmiarów elementu wygląda tak:
[JAVASCRIPT] pobierz, plaintext
  1. $('#element').height()
  2. $('#element').width()
  3. $('#element').css('background-color')
  4. $('#element').css('color')
[JAVASCRIPT] pobierz, plaintext


Cytat(CuteOne @ 4.01.2013, 16:11:09 ) *
Yyyy a nie łatwiej sprawdzić czy słowo "pomyślnie", "zalogowano" itp. pojawi się na stronie (zakładając, że w ogóle jakiś komunikat się pojawi) zamiast szarżować na drzewo DOM?

Jesteś niemądry.

//bump

//bump
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.