Oppure

Loading
07/03/10 13:23
gvigliani
Postato originariamente da GrG:

non capisco dopo i vari url quei valori cosa indicano...

188bet
188bet.com/Common/Bet188/MenuBet/… ...
txtLoginId 'se mi spiegassi meglio cosa sono questi valori sarebbe meglio
passwordPrompt
txtPassword
btnLogin


txtLoginId : è la variabile che identifica la casella di testo dove inserire l'ID
passwordPrompt: è la variabile che identifica la casella di testo di verifica della passwrd. Generalmente non è visibile
txtPassword : è la variabile che identifica la casella di testo contenente la passwd. Generalmente è formata da asterischi
btnLogin : è la variabile che identifica il bottone di Login
webbrowser1.Document.All("btnLogin";).Click

Ciao
aaa
07/03/10 13:50
GrG
essendo siti fissi insieme agli altri dati inserirei anche il numero del frame in cui si trova il form di login, quindi si dovrebbe presentare così:

188bet
188bet.com/Common/Bet188/MenuBet/… ...
txtLoginId 'se mi spiegassi meglio cosa sono questi valori sarebbe meglio
passwordPrompt
txtPassword
btnLogin
frame:2

e poi quando leggi il file, leggi anche per ogni sito (che ha un frame) il numero del frame che contiene il form di login e usi...

webbrowser1.document.frames(X).src

per ricavarti l'indirizzo del form di login

oppure fai il passaggio direttamente a mano inserendo direttamente la pagina che ha il form di login senza frame di mezzo...
aaa
07/03/10 15:56
gvigliani
webbrowser1.document.frames(X).src

Proprieta' o metodo non supportato.

Comunque, come avrai notato, nel sito che ti ho mandato d'esempio, i frames erano 20 ma ovviamente non era vero.
Quindi c'è secondo me, qualcosa che si dovrebbe fare e che non si fa per verificare questa cosa.
Nella tua mail consigli di mettere in fondo alla lista delle voci inerenti ogni sito anche il frame di riferimento.
Ti ricordo che con la funzione che mi hai mandato noi andiamo a vedere soltanto il numero dei frames e non il loro nome.
In effetti si potrebbe :
WebBrowser1.Document.Frames("title";).Document.All("frame1_text";).Value = "Frame1 Text"

in "title" si inserisce il nome del frame
in "frame1_text" che potrebbe essere la casella dell' ID inseriamo il nostro identificativo
"Frame1 Text" è quello che andremo a metterci dentro.

ma il problema di fondo rimane. Non sappiamo in quale frame ci sono le caselle che ci interessano semplicemente perche' il numero dei frames non è reale (non mi chiedere il motivo)

Saluti
Ultima modifica effettuata da gvigliani 07/03/10 16:37
aaa
07/03/10 20:31
GrG
Postato originariamente da gvigliani:

webbrowser1.document.frames(X).src

Proprieta' o metodo non supportato.


effettivamente non so perchè ma anche a me non funziona O.O
vabbè, per fortuna in quest'altro modo mi funziona:
msgbox webbrowser1.document.frames(X).location

Comunque, come avrai notato, nel sito che ti ho mandato d'esempio, i frames erano 20 ma ovviamente non era vero.


perchè dici così O.o? io ne ho contati venti... (ovviamente non ti devi basare guardando la pagina, ma guardando il sorgente della pagina)..

p.s. Comunque dei vari siti che hai postato solo 12bet.com è funzionante, gli altri sono bloccati...
aaa
09/03/10 18:45
gvigliani
Postato originariamente da GrG:

Postato originariamente da gvigliani:

webbrowser1.document.frames(X).src

Proprieta' o metodo non supportato.


effettivamente non so perchè ma anche a me non funziona O.O
vabbè, per fortuna in quest'altro modo mi funziona:
msgbox webbrowser1.document.frames(X).location

Comunque, come avrai notato, nel sito che ti ho mandato d'esempio, i frames erano 20 ma ovviamente non era vero.


perchè dici così O.o? io ne ho contati venti... (ovviamente non ti devi basare guardando la pagina, ma guardando il sorgente della pagina)..

p.s. Comunque dei vari siti che hai postato solo 12bet.com è funzionante, gli altri sono bloccati...


Caro amico,
è con somma gioia , ed anche per il tuo aiuto e sprono,
che sono riuscito a risolvere il problema.
Andare a cercare il Form sito per sito mi sembrava poco professionale e cosi' ho fatto in modo che il programma lo facesse per me.
Devo dire che lo fa molto bene e sono molto soddisfatto del risultato raggiunto.
Ancora un grazie per il tuo incommensurabile aiuto.

Grazie
aaa
09/03/10 18:49
gvigliani
Veramente un ultimo aiutino mi servirebbe. Purtroppo il programma non aspetta il caricamento della pagina web.
Con il richiamo diretto dell'oggetto IE utilizzavo queste righe:

While IE.Busy
DoEvents
Wend

che con in Webbrowser ho modificato in:

While webbrowser.Busy
DoEvents
Wend

ma non funziona e sono dovuto ricorrere casarecciamente ad un wait(3000) "aspetta 3 secondi"

Non mi piace come soluzione anche perche' se la linea singhiozza un po' si rischia che il login non verra' mai effettuato.
Hai qualche idea in proposito?

Grazie
aaa
09/03/10 21:03
GrG
Sono felice che tu abbia risolto gran parte del tuo problema...


Postato originariamente da gvigliani:
While webbrowser.Busy
DoEvents
Wend


prova con:

Do
DoEvents
Loop until (webbrowser.Busy = false)
aaa
10/03/10 15:00
gvigliani
Postato originariamente da GrG:

Sono felice che tu abbia risolto gran parte del tuo problema...


Postato originariamente da gvigliani:
While webbrowser.Busy
DoEvents
Wend


prova con:

Do
DoEvents
Loop until (webbrowser.Busy = false)



Direi che se ne frega altamente del Do.... Loop e va tranquillamente per la sua strada senza nemmeno sprecarsi a vedere cosa sta succedendo.
Una altra stranezza è questa:

x è il numero delle pagine web che dovremo riempire.
WebBrowser1(x).Document.Forms(j).All(identificativo).Value = "gvigliani"
ho gia' trovato il form che mi interessa e viene identificato con j.
J quindi rimarra' tale per tutte le operazioni di login relative alla pagina.
N_form(x)=j
Cambieranno solamente gli identificativi relativi alle caselle di testo da riempire.

WebBrowser1(x).Document.Forms(N_form(x)).All(pass_tmp).Value = "xxxxxxxxx"
pass_tmp la leggo da un file di testo ed è
pass_tmp="password"

il comando non funziona e mi va a mettere il valore "xxxxxxxxxxx" nella casella di testo relativa all'id.

Adesso cambio il comando con:
WebBrowser1(x).Document.Forms(N_form(x)).All("password";).Value = "xxxxxxxxx"

ed in questo caso me lo posiziona nel giusto posto.

passando il cursore sulla variabile pass_tmp mi da' "password" quindi la variabile è giustamente assegnata.

Questo programma mi sta facendo veramente impazzire. Ci sono delle incongruenze che a mente non ricordo di aver avuto mai.

Tu cosa dici??

Saluti



aaa