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

    [VB.NET] Problema compilazione campi webbrowser

    Salve a tutti, mi chiamo Giuseppe (come si può facilmente intuire), premetto che sono un dilettante, quindi è possibile che utilizzi termini impropri e/o sbagliati. Inoltre, essendomi iscritto adesso al forum (anche se lo seguo da parecchio), potrei anche sbagliare qualcosa, nonostante abbia letto il regolamento, e per questo mi scuso a priori.

    Andiamo al nocciolo del problema:

    sto facendo un piccolo programmino in cui si deve accedere tramite webbrowser al proprio account e vorrei che questo avvenisse automaticamente all'apertura del programmino chiamando l'evento click del button "btn_Accedi". Dopo svariate ricerche sono riuscito a scrivere il seguente codice:

    codice:
    Private Sub Accedi(sender As Object, e As System.EventArgs) Handles btn_Accedi.Click
      Dim myHtmlElement As HtmlElement
      
      With WBr_Forum.Document
          .GetElementById("UserName").InnerText = "email@libero.it"
          .GetElementById("PassSafe").InnerText = "mypass"
          .GetElementById("PassSafe").SetAttribute("type", "password")'altrimenti vedo la password e non i pallini
           For Each myHtmlElement In .All
                    If myHtmlElement.GetAttribute("type") = "submit" And myHtmlElement.GetAttribute("tabindex") = "4" Then
                          myHtmlElement.InvokeMember("Click")
                     End If
           Next
      End With
    End Sub
    Quando però chiamo il click del login mi spunta la form di allert della pagina web dicendomi di completare tutti i campi.
    Stessa cosa se clicco manualmente, quindi significa che riesco ad intercettare correttamente il controllo e l'evento.

    Ho fatto un'altra prova, inserendo nella Sub Accedi la riga:

    codice:
    Clipboard.SetText("mypass")
    se incollo col tasto destro del mouse nella textbox "PassSafe" e clicco su login, l'accesso avviene correttamente, perché? E come posso risolvere il problema?

    Grazie a tutti anticipatamente.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,319
    Tutte le versioni di VB e tutti i linguaggi .NET vengono trattati nel sub-forum "Visual Basic e .NET Framework".

    Sposto la discussione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Scusatemi, ho cercato di essere attento, ma alla fine ho sbagliato

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Ciao Giuseppe,
    innanzitutto la cosa strana è che non ti appaiono i pallini sul textbox della password, questo può significare che la pagina HTML non è stata costruita correttamente, bisognerebbe controllarla.
    E' una pagina che hai fatto tu oppure è una pagina su internet ??

    Ma la cosa che mi fa più pensare è che hai usato
    codice:
    .GetElementById("UserName").InnerText = "email@libero.it"
    per assegnare i valori ai TextBox, quando invece bisognerebbe usare:
    codice:
    .GetElementById("UserName").SetAttribute("value", "email@libero.it")
    Sergio

  5. #5
    Sergio, intanto grazie per la risposta e mi scuso per non aver risposto prima, ma sono stato lontano dal pc per una settimana.
    Per ciò che riguarda il problema in oggetto, preciso che ho provato pure il SetAttribute, anzi è stata la prima cosa che ho fatto, ma l'applicazione (che purtroppo in questo momento ho su un altro pc) crashava, in questo momento non ricordo l'errore.
    Comunque, la pagina html non l'ho costruita io, è un semplice forum sulla piattaforma forumfree.

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Il problema di "forumfree" è che il campo dove stai tentando di andare a scrivere non è un campo puro, ma ha del codice JavaScript intorno che serve a far aprire le pubblicità non appena ci si fa click sopra, quindi penso sia un po' più difficile gestirlo da WebBrowser e dintorni

    Sergio

  7. #7
    Grazie per la risposta. Purtroppo ho poco tempo per dedicarci, quindi, siccome la compilazione automatica dei campi non è fondamentale per il funzionamento dell'applicazione, ma solo un'agevolazione, credo che per il momento lascerò perdere. Per quel che mi serve va già tutto bene.

    Ancora un grazie.

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.