Naviguer dans une page WEB avec les elements interpretées [Résolu]

Signaler
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
-
Genildf
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
-
Bonjour

J'ai un souci pour creer une appli qui est cencé remplir des champ d'une page web et clicker sur les bouton pour me faire gagner du temp

Cependant le site a change légèrement je redeveloppe donc pour que mon programme refonctionne mais je rencontre une difficulté:

Je doit clicker sur des élément qui ne figure pas dans le code source de la page; c'est a dire qui sont générée d'une autre facon (JAVAscript).
Et je ne trouve pas la solution

45 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
Jouant dans un simple WebBrowser :

Private Sub Form_Load()
    WebBrowser1.Navigate "https://wwwapps.ups.com/pickup/schedule?loc=fr_FR&WT.svl=PNRO_L1"
End Sub

Private Sub Form_Resize()
    WebBrowser1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim oObj As Object
Dim oDoc As HTMLDocument
    If WebBrowser1.ReadyState = READYSTATE_COMPLETE Then
        Set oDoc = pDisp.Document
        Set oObj = oDoc.getElementById("addrMDCompanyId")
        oObj.Value = "company"
        Set oObj = oDoc.getElementById("addrMDPhoneId")
        oObj.Value = "0102030405"
        Set oObj = oDoc.getElementById("addressId")
        oObj.Value = "12 rue Leblanc"
        Set oObj = oDoc.getElementById("pd2Id")
        oObj.Value = "Paris"
        Set oObj = oDoc.getElementById("postalcode")
        oObj.Value = "75015"
        DoEvents
        oObj.FireEvent "onblur"
        
        Do
            DoEvents
        Loop While Nothing Is oDoc.getElementById("chkSrvDomId3'")

        Set oObj = oDoc.getElementById("chkSrvDomId3'")
        oObj.Checked = "checked"
        DoEvents
        oObj.FireEvent "onclick"
    End If
End Sub



gaffe à l'ID du checkbox, doivent avoir un souci de codage, c'est bien :

chkSrvDomId3'


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
si javascript les genère ; au final c'est la meme chose: ils sont présents dans le code source...
rien de magique.


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
justement il y a aucun trace dans le code source

mais avec l'outil web développer (firefox) je peut voir ce que je cherche dans le code généré
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
aucun trace dans le code source


quel est le code que tu utilises ?
a quel moment le js ajoutes il les elements recherchés ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
Je ne sait pas je suis pas vraiment développeur web

c'est des checkbox avec une fonction javasscipt qd tu clique dessus

et cette checkbox ne figure pas dans le code source de la page
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
comment regarde tu le code source de la page ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
Alors sur firefox avec afficher le code source mais dans ce cas la je voit pas les checkbox

ou avec webdevlopper en faisant voir le code generé et la je voit
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
oublies ton naviguateur deux minutes.

le but est bien de piloter la page web depuis ton appli ?

est-ce que ce site web est visible par nous ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
oui c'est le site pour planifier des enlevemnt UPS

ps voici le code generé


, [javascript:domesticServiceLinkClicked() UPS Standard]
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
ton code a fonctionné?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
yep, ca me remplit le formulaire et me coche la case 'UPS NORMAL'


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
NB. j'ai fais ça sous VB6, mais bon, le navigateur est le même ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
J'ai pas de do event en VBNET jv essayer de remplacer par un do until
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
Application.DoEvents


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
je bloque au
 oDoc = pDisp.Document


Le code a marche que une seule fois en le mettant a ma saus mais apres il bloque au do event
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
tu peux remplacer par WebBrowser1.Document...

faut lire entre les lignes^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
Bien sur c'est ce que j'ai fait lol

mon WEbroswer s'appel IEexterne mais eme en remplacant ca plante jv essayer de me debuguer
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
En fait ca marche mais c'est tres lent ya un bon moment ou je peut rien faire (a croire que IE6 plante)

tu as testé avec lequel toi?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
IE8


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
273
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
IE6 et en plus j'ai pas droit de updater (PC controler par mon boulot)

Hmm comment je peut declarer un web broswer mais avec firefox?
1 2 3