Wątek przeniesiony 2017-06-18 18:49 z Newbie przez furious programming. Powód: Niepoprawna kategoria forum

Przesyłanie komunikatów z tekstem do przeglądarki www

Odpowiedz Nowy wątek
2017-06-18 03:45
Krakamidor
0

Chcę wypełniać formularz na stronie www przy pomocy mojej aplikacji delphi używając komunikatów SendMessage(Uchwyt, WM_SETTEXT..........)

Pobrałem uchwyt okna przeglądarki, ale cóż z tego .
Jak tu wysłać komunikat z tekstem skoro okienka tekstowe nie mają osobnego uchwytu , więc nie da się adresować do konkretnego tylko do przeglądarki w ogóle.

Jaki jest na to sposób??

Pozostało 580 znaków

2017-06-18 08:24
0

Niemożliwe,strony otwierane w przeglądarce nie mają kontrolek do których mógłbyś wysyłać komunikaty (no jedynie mógłbyś wysyłać komunikaty naciśnięcia klawisza ale dane pole formularza musiałoby być aktywne).
Napisz co chcesz konkretnie zrobić może jest na to inny sposób, no iczy musisz koniecznie korzystać z zewnętrznej przeglądarki?


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.

Pozostało 580 znaków

2017-06-18 09:47
Tomash
0

Z przeglądarką IE można komunikować się przez COM Automation. Zapytaj googla o "InternetExplorer.Application automation post"

Pozostało 580 znaków

2017-06-18 10:30
0

Ale w tym nie chodzi o otwartą przeglądarkę a o (w uproszczeniu) coś w stylu użycia TWebBrowser.


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.

Pozostało 580 znaków

2017-06-18 16:29
0

Jeśli o WebBrowser chodzi to tutaj jest przykład – https://www.experts-exchange.[...]put-text-box-web-browser.html


Pozostało 580 znaków

2017-06-18 17:58
0

No w WebBrowser wszystkie pola (z wyjątkiem pola typu file) można bez problemu uzupełnić programowo. Można też wysłać dane POST (łącznie z plikiem którego nie da się wysłać wypełniając formularz programowo) nie wypełniając pól formularza za pomocą metody Navigate ale autorowi raczej chodzi o to zwykła przeglądarkę.


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.

Pozostało 580 znaków

2017-06-18 18:40
0

Jak o zwykłą przeglądarkę chodzi to o ile nie istnieje jakiś prosty sposób na przesyłanie całych ciągów za pomocą SendMessage czy PostMessage, to zawsze można aktywować okno przeglądarki, a następnie zasymulować wciskanie klawiszy. Samą symulację wciskania klawiszy można zrealizować za pomocą keybd_event lub SendInput. Przechodzenie do kolejnych pól to symulacja wciskania klawisza Tab, a wciśnięcie przycisku wysyłającego dane to jego sfokusowanie i klawisz Enter.

Nie będzie to rozwiązanie idealne, jednak jest duża szansa, że będzie działać na różnych przeglądarkach. Przy czym traktowałbym to rozwiązanie jako awaryjne.


edytowany 4x, ostatnio: furious programming, 2017-06-18 18:44

Pozostało 580 znaków

2017-06-19 12:25
Krakamidor
0

Właśnie rozwiązałem (częściowo) problem stosując Symulację naciśnięć klawiszy.
Nie do końca mnie to zadowala bo np już znaków których nie ma na klawiaturze trudniej przesłać (a i roboty z napisaniem kodu jest sporo) , np. znaki dla innych niż Polski języków.
SendMessage byłoby idealne ale skoro się nie da to cóż, trzeba się zadowolić tym co się da.

Pozostało 580 znaków

2017-06-19 15:37
0

Jeśli chcesz wygodniej operować na polach edycyjnych – zrezygnuj z przesyłania danych do okna przeglądarki na rzecz kontrolki WebBrowser. A jeśli nie chcesz lub nie możesz tego zrobić to cóż, ja nie znam lepszego rozwiązania niż symulacja wciskania klawiszy.


Pozostało 580 znaków

2017-06-20 11:29
Krakamidor
0
furious programming napisał(a):

Jeśli chcesz wygodniej operować na polach edycyjnych – zrezygnuj z przesyłania danych do okna przeglądarki na rzecz kontrolki WebBrowser. A jeśli nie chcesz lub nie możesz tego zrobić to cóż, ja nie znam lepszego rozwiązania niż symulacja wciskania klawiszy.

No dobrze przypuśćmy że będę wyświetlał strony www w WebBrowser-ze to czy:
1-WebBrowser zapewnia wystarczające bezpieczeństwo w sieci?
2-Czy pola tekstowe stron www które w zewnętrznej przeglądarce nie posiadają uchwytu , w WebBrowser będą miały
uchwyt?

Pozostało 580 znaków

2017-06-20 11:51
1
  1. bezpieczeństwo czego?
  2. nie, ale można się do nich dostać inaczej http://www.cryer.co.uk/brian/[...]/read_write_form_elements.htm https://www.thoughtco.com/man[...]using-the-twebbrowser-1058362

Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0