View Full Version : [vb] cliccare un link "speciale" con webbrowser
SUPERALEX
14-12-2008, 12:59
ciao sto facendo un programmino che naviga sul web e devo fargli cliccare dei pulsanti..ora finche sono dei pulsanti classici del tipo html
<input name="go" type="submit" value="..." class="bottoni"> riesco a farli cliccare usando il comando WebBrowser1.Document.All("submit").InvokeMember("click")
ma se sono dei link che chiamano funzioni java x esempio:
<script language="javascript" type="text/javascript">
function completa(nome,num) {....
<td colspan="2" style="text-align:right" class="textmini">[ <a href="java-script:;" onclick="completa(....')">stringa_da_cliccare</a> ]</td>
"stringa_da_cliccare" è il nome del pulsante che io posso cliccare ora come faccio a farglielo fare al mio programma??
grazie spero di essermi spiegato:D
"stringa_da_cliccare" è il nome del pulsante che io posso cliccare ora come faccio a farglielo fare al mio programma??
Quello che hai scritto è un a href, un link quindi.
Tempo fa avevo risolto la cosa in questo modo ( nel mio caso era una pagina html con links html a href - niente JavaScript ) :
Dim L As Object
For Each L In WebBrowser1.Document.Links
If L.InnerText = "stringa_da_cliccare" Then
L.InvokeMember("Click")
End If
Next
Secondo me può andare anche nel tuo caso. Prova... ;)
SUPERALEX
15-12-2008, 20:29
il microsoft script editor (che nn so perchè si apra visto)mi da un errore di run-time di javascript mi dice che pageYOffset nn è definito fermandosi su questa funzione
function spostabox() {
var dove=pageYOffset+10;
window.document.getElementById("mybox").style.top=dove+'px';
setTimeout("spostabox()",50);
}
che diavolo vuol dire?
il microsoft script editor (che nn so perchè si apra visto)mi da un errore di run-time di javascript mi dice che pageYOffset nn è definito fermandosi su questa funzione
function spostabox() {
var dove=pageYOffset+10;
window.document.getElementById("mybox").style.top=dove+'px';
setTimeout("spostabox()",50);
}
che diavolo vuol dire?
Qui VB non c'entra nulla. Il codice che ho postato io funziona, ma evidentemente nel Document si fa riferimento ad una funzione JavaScript "pageYOffset" che non è stata definita nel doc stesso.
E infatti l'eccezione apre il Ms Script Editor, perchè sul tuo Pc è associato al debug degli script JavaScript...
SUPERALEX
16-12-2008, 09:10
si lo avevo intuito ma quindi che si può fare?potrebbe essere il fatto che il sito su cui lavora è stato progettato x firefox e quindi su explorer da alcuni problemi di dimensionamento della pagina?
si lo avevo intuito ma quindi che si può fare?potrebbe essere il fatto che il sito su cui lavora è stato progettato x firefox e quindi su explorer da alcuni problemi di dimensionamento della pagina?
Beh, dovresti vedere se quel link funziona nei 3 casi :
1. Pagina aperta direttamente in IE.
2. Pagina aperta tramite WebBrowser di VB e link cliccato sulla pagina.
3. Pagina aperta tramite WebBrowser di VB e link cliccato indirettamente tramite routine VB.
Se è proprio un problema della pagina o di IE che non interpreta correttamente il JS, VB non c'entra, e al momento non saprei come risolverla.
Come già accennato tempo fa avevo fatto una Form con un WebBrowser che pilotava un mini-sito... Solo che il sito l'avevo fatto io, perciò nessun problema. Ovvio che navigare il web tramite un WebBroser ti esporrà prima o poi ad errori non risolvibili...
SUPERALEX
16-12-2008, 12:28
no ma il problema nn si presenta se cerco di fare il link ma prima cioè i caricamenti delle pagine web precedenti vanno bene poi appena carico la pagina con la funzione java(che viene caricata nel form) esce lo javascript che chiede se lo voglio usare come debugger predefinito io faccio si e poi si blocca sulla funzione che ho scritto prima
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.