Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Delita
    Registrato dal
    Oct 2005
    Messaggi
    26

    [VB.NET] GetElementById("").InnerText non sempre funziona, alternative?

    Grazie ai vostri preziosi consigli, ho scoperto come scrivere all'interno di un campo web con il
    GetElementById("nomecampo").InnerText

    Mi sono però imbattuto in un sito particolare che crea qualche difficoltà.

    In pratica, in un sito che ha nel form questi campi

    <input type="text" name="userName">
    <input type="password" name="password">

    usando la innertext

    WebBrowser1.Document.GetElementById("userName").In nerText = username
    WebBrowser1.Document.GetElementById("password").In nerText = "qwerty"

    riesco a riempire bene solo il campo username, mentre ho problemi con il campo password



    Che come vedete, al posto di essere riempito, viene sostituito.


    Mi hanno spiegato che il problema sta nel fatto che
    <input type="password" name="password">
    ha nome e tipo entrambi settati come password, e finisce che il metodo innertext va a scrivere nel primo e non nel secondo.


    Come posso risolvere?

  2. #2
    Utente di HTML.it L'avatar di ciaz
    Registrato dal
    Oct 2008
    Messaggi
    68
    Prova a togliere le virgolette in qwerty.

  3. #3
    Utente di HTML.it L'avatar di Delita
    Registrato dal
    Oct 2005
    Messaggi
    26
    non è quello, ho già provato a metterci sia variabili che altro lì.

  4. #4
    Utente di HTML.it L'avatar di Delita
    Registrato dal
    Oct 2005
    Messaggi
    26
    trovato

    With Browser.Document.GetElementsByTagName("input")
    .GetElementsByName("userName").Item(0).InnerText = username
    .GetElementsByName("password").Item(0).InnerText = "qwerty"
    End With

  5. #5
    Utente di HTML.it L'avatar di ciaz
    Registrato dal
    Oct 2008
    Messaggi
    68
    Allora.... fammi capire bene.
    Tu hai postato un'immagine dove sul campo username hai scritto 11617639 e quello te lo scrive perchè, da codice, avrai scritto:

    Dim username as string= "11617639"
    WebBrowser1.Document.GetElementById("userName").In nerText = username

    Non devi fare altro che scrivere (ammesso che la password sia x es: 123456)

    Dim password as string= "123456"
    WebBrowser1.Document.GetElementById("password").In nerText = password

    oppure

    WebBrowser1.Document.GetElementById("password").In nerText = "123456"

    e questo si capisce dal fatto che sul campo password dell'immagine ci sia scritto qwerty.

  6. #6
    Utente di HTML.it L'avatar di Delita
    Registrato dal
    Oct 2005
    Messaggi
    26
    non hai capito.
    il "qwerty" fra virgolette l'avevo messo nel codice che ho postato qui perchè, ovviamente, non mi sembra il caso di mettere in chiaro password aziendali sulla rete.

    Nel mio programma (comunque non funzionante), ovviamente passavo ad entrambi i campi una variabile.


    Comunque ho risolto usando il getelementsbytagname

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.