C# Uzupełnianie pola tekstowego na stronie www

Witam. Chciałbym zrobić program który po włączeniu uzupełniał pole tekstowe na stronie internetowej np. login i hasło całość w c# najlepiej w win form. Ma ktoś pomysł jak to zrobić? :slight_smile: nie chodzi mi o gotowca tylko o to jak się dostać do tych pól tekstowych i jak coś do nich “wysłać” wiem że to dość trudne więc proszę o pomoc.

Zapoznaj się z działaniem protokołu http tam masz odpowiedzi na wszystkie Twoje pytania.

W samym C# tego nie zrobisz. Albo musisz mieć dostęp do strony i zakodować to w JavaScript, albo zrobić dodatek do przeglądarki.

Witam,

 

Zobacz to:

 

https://social.msdn.microsoft.com/Forums/windows/en-US/802756a5-39e9-4028-ac92-a8ad524cc8b0/webbrowser-fill-in-form-fields?forum=winforms

 

Pozdrawiam,

 

mr-owl

Jak nie, jak tak? Wystarczy wysłać odpowiednie żądania get lub post. Nawet jak formularz ma zabezpieczenia przed XSS nie widzę przeszkody by pobrać stronę z formularzem i wysłać wszystkie pola formularza uzupełniając tylko te które są do uzupełnienia.

 

Ale żeby to zrobić trzeba znać protokół HTTP czyli to co podałem w pierwszym poście.

są jeszcze rozwiązania takie jak Selenium WebDriver - szeroko używane do testów strony WWW; 

sam w ten sposób logowałem się do konta na Analizy.pl i sprawdzałem wyniki funduszy inwestycyjnych.

Dziękuję wszystkim za odpowiedź na pewno wykorzystam któreś rozwiązanie

 

Pytanie nie dotyczyło tego jak wysłać żądanie na serwer, tylko jak wypełnić pole tekstowe, na poziomie strony WWW. Na zasadzie takiej jak działają menedżery haseł, automatycznie wypełniając pole z loginem i hasłem. Przynajmniej ja to tak zrozumiałem. Wysłać żądanie HTTP wiadomo że się da …

Gdyby tak było pytanie dotyczyłoby jak to zrobić w konkretnej przeglądarce. Rozszerzenia w przeglądarkach nie pisze się w C#, więc pytanie jak coś takiego zrobić w C# byłoby bezsensu. Oczywiście jeśli mówimy tutaj jak to zrobić w przeglądarce czyli stronie której wygląd został wygenerowany w jakimś programie.

Natomiast wypełnienie i wysłanie pól tekstowych w aplikacji webowej czy to w C# czy innym języku czy nawet w przeglądarce odbywa się tak samo - za pośrednictwem protokołu HTTP. Jedyna różnica jest taka że przeglądarka generuje i obsługuje interakcję z użytkownikiem przy pomocy interfejsu jakim jest wygenerowana strona internetowa.

Powtarzam się, ale moim zdaniem pytanie nie dotyczyło tego o czym piszesz, a przynajmniej tak było sformułowane. 

Jeśli założymy twoją wersję, to też nie zawsze jest to takie banalne, bo każda dobrze zrobiona strona zabezpiecza się przed taką formą XSS - na zasadzie POST https://test.com/login user=abc password=xyz. Czy to przez tokeny wrzucane do ukrytych pól formularzy,  ciasteczka, czy też inne metody. Musiałbyś przynajmniej częściowo symulować działanie przeglądarki, analizując to co dostajesz po GET.

hola… selenium jest napisane w ten sposób że gila go przeglądarka, jaką sobie wybierzemy taką będzie używał; Testowane - działa.