Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    controllo webbrowser c#

    Ciao a tutti!
    ogni giorno, per lavoro, devo inserire un'inserzione in un famoso sito di annunci.
    Succede che passo al webbrowser l'url della pagina di login, effettuo il login e mi ritrovo sulla pagina due in cui trovo il form da compilare. A questo punto, siccome il webbrowser è ancora inizializzato sul primo url, non c'è modo di compilare il form che si trova su un url diverso! COME NE ESCO SENZA ESAURIMENTO???
    Grazie, grazie, grazie a tutte le anime pie che vorranno salvarmi dall'imminente ricovero

  2. #2
    Ciao, benvenuta nel forum!

    Il titolo della discussione non è conforme al regolamento, mandami per favore un messaggio privato con la rettifica.
    Chi non cerca trova.

  3. #3
    Ciao,
    se ho ben capito il tuo problema ti basta ovviare così:

    webBrowser1.Navigate("http://www.sito.it/login");

    entri nel form fai il login e puoi navigare sulle restanti pagine.

    Ciao
    Alle anime superficiali occorrono degli anni per liberarsi di un’emozione. L’uomo padrone di sè pone fine a un dolore con la stessa facilità con la quale improvvisa una gioia.

  4. #4
    Ciao jlocke, grazie per la risposta.
    Al momento faccio una cosa del genere:

    wb.Navigate("http://www.paginaLogin.asp")
    wb.Document.GetElementById("user").SetAttribute("v alue", "user");
    wb.Document.GetElementById("email").SetAttribute(" value", "email");
    wb.Document.GetElementById("login").InvokeMember(" click");

    Entro nella pagina di login, lascio che vengano compilati i campi user e email e clicco sul bottone login e mi ritrovo quindi sulla pagina che presenta i campi che vorrei compilare in automatico, così:

    wb.Document.GetElementById("primoCampo").SetAttrib ute("value", "pippo");
    wb.Document.GetElementById("secondoCampo").SetAttr ibute("value", "pluto");

    Peccato che il mio controllo wb continui a navigare sulla pagina di login.

    Credo si debba usare l'evento NewWindow per fare in modo che la seconda pagina venga aperta in una nuova form e la sessione non venga persa... ma non ne sono proprio sicura.
    O forse sto affogando in un bicchier d'acqua?

  5. #5
    Ok,
    sulla seconda pagina prova a mettere questo prima dei setattribute:

    wb.Document.Focus();
    wb.Document.GetElementById("primoCampo").SetAttrib ute("value", "pippo");
    wb.Document.GetElementById("secondoCampo").SetAttr ibute("value", "pluto");

    ho fatto una prova veloce su un sito di aste e va senza problemi.

    Ciao
    Alle anime superficiali occorrono degli anni per liberarsi di un’emozione. L’uomo padrone di sè pone fine a un dolore con la stessa facilità con la quale improvvisa una gioia.

  6. #6
    ho provato a dare il Focus così come mi hai suggerito ma: NullReferenceException....
    Non trova il campo "primoCampo" perchè lo cerca, giustamente, nella pagina di login.
    Anche con
    while (wb.ReadyState != WebBrowserReadyState.Complete)
    Application.DoEvents();

    per chiarezza:
    campi della prima pagina che riempio correttamente: user, email e click su login che porta a pagina due
    campi della pagina due: primoCampo, secondoCampo che il wb non trova

    Mi sarò capita?

  7. #7
    Ok,
    ma tu i campi della seconda pagina come li popoli? Fai tutto insieme?

    Perchè se è così non gli dai il tempo di caricare il documento e quindi non lo trova.

    Devi metterti un bottone per compilare la seconda pagina una volta caricata nel wb
    Alle anime superficiali occorrono degli anni per liberarsi di un’emozione. L’uomo padrone di sè pone fine a un dolore con la stessa facilità con la quale improvvisa una gioia.

  8. #8
    anzitutto: dove lo vuoi il monumento?
    in secondo luogo: non avrebbe dovuto funzionare allo stesso modo
    while ((wb.IsBusy) | (wb.ReadyState != WebBrowserReadyState.Complete))
    Application.DoEvents();
    Graaaaaaaaaaazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.