IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Comment exécuter par programmation le clic d'un bouton dans l'activeX web browser


Sujet :

WinDev

  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut Comment exécuter par programmation le clic d'un bouton dans l'activeX web browser
    Bonsoir à tous,

    Je galère depuis ce matin pour simuler ou effectuer le clic sur un bouton d'une page web via l'activex web browser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    AX_1>>Silent = Vrai
    AX_1>>Navigate(SAI_URL)
    //Attente que la page soit chargée
    TANTQUE AX_1>>Busy
    	Multitâche(50)
    FIN
    DonneFocus(AX_1)
    Multitâche(1000)
     
    sTexte est une chaîne
    sTexte = AX_1>>Document>>Body>>InnerHtml()
    VersPressePapier(sTexte)
    En gros je souhaite cliquer après le premier chargement de la page, le bouton "SKIP AD"
    Voici un extrait de sTexte comprenant le code source de ce bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <div class="fly_head" style="margin-top: 0px; max-height: 90px;">
     
    	<div class="logo" style="margin: -4px -4px -4px -10px; font-weight: bold; display: inline-block; max-height: 60px;"></div>
            <div style="margin-right: 100px; float: right;"></div>
            <div style="left: 50%; width: 468px; height: 60px; margin-top: -85px; margin-left: -620px; position: absolute;">
                <div style="margin-top: 25px; margin-left: 350px;"><iframe width="477" height="60" src="http://bc.vc/pages/download.php" frameBorder="0" scrolling="no"></iframe>
    </div>
    </div>
     
    <div style="margin: 6px; float: right; display: inline-block;"><div class="skip_btt"><a id="skip_btt" href="#">SKIP AD</a></div></div>
    <div style="clear: both;"></div>
    </div>
    <div class="fly_head_bottom">
    			<div style="display: inline-block;">
    			<a class="uc" href="http://bc.vc/?r=28540" target="_blank">bc.vc - a modern URL shortener</a>
    			shorten urls and earn money		</div>
    		<div style="float: right; display: inline-block;">
    		</div>
    		<div style="clear: both;"></div>
    </div>
    Merci d'avance pour toute aide....

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut CurseurPos() ?
    Bonjour,

    Après une mauvaise nuit de sommeil, j'ai pensé à une solution de déplacement de la souris sur une position correspondant au bouton dans l'activex et simuler un clic.
    Malheureusement le code ci dessous n'a aucun effet sur le curseur de ma souris (aucun déplacement effectué!)
    Ai je manqué quelque chose dans la syntaxe?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurseurPos(cpClient, nPosX, nPosY)
    Merci par avance.

  3. #3
    Invité
    Invité(e)
    Par défaut
    "SKIP AD" n'est pas un bouton mais un lien (utilisation de la balise HTML <a> ), pour insérer un bouton, il faut mettre <input type="button"
    Votre lien ne va rien faire si vous ne mettez d'événement "clic sur le lien / bouton", il manque l'attribut ONCLICK, dans lequel on peut faire appel à des fonctions wlangage (c'est que j'avais fait en webdev, où je faisais appel à des fonctions navigateurs, jamais fait sous windev)

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    De mémoire , il y a un exemple fourni avec Windev, qui s'appelle WD Pilotage de IE.
    Et dedans, on ouvre une page Web (un écran de saisie avec un bouton Valider), on remplit par programmation les différents champs, et on simule un clic sur le bouton'Valider'.

    Il n'y a pas du tout de sourisposx() ou de trucs comme ça. Mais un recensement des différents objets de la page Web.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  5. #5
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Bonjour et merci pour l'intérêt!

    @Romulus

    Effectivement au début j'avais remarqué que "SKIP AD" était un lien (l'url d'origine avec un # à la fin)
    Mais j'ai beau relancé un AX_1>>Navigate(url+"#") après un multitache(1000) pour être sûr que le lien apparait, je n'obtiens aucun résultat dans le champ activex!

    @tbc92

    J'ai egalement testé cette voie en intégrant la classe cliexplore de "wd pilotage ie" mais comme Romulus a souligné, l'exemple s'appuie sur un clic (SUBMIT) de formulaire qui n'est pas présent dans ma page.

    J'ai même tenté avec la fonction httprequete() mais le "SKIP AD" n'apparait pas dans la source de la requête puisqu'il faut 5 secondes avant qu'il s'affiche (dans ma source j'ai juste "PLEASE WAIT").
    J'ai alors fait un multitache de 10 secondes avant de faire une nouvelle requete du lien + "#" sans aucun résultat!

    C'est vraiment à bout que j'ai pensé essayer d'automatiser des clics de souris par déplacement...

    Merci encore pour l'aide...

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Je te propose l'expérience suivante :
    Tu crées une fenêtre avec un champ ActiveX Webbrowser.
    Tu mets un premier bouton avec le code Ax1>>Navigate( mon_URL)
    Et un autre bouton avec le code pour récupérer tout le code source de ta page.

    Et dans ton test, tu cliques sur le 2nd bouton uniquement quand le message Please-Wait a disparu.
    Tu auras ainsi le bon contenu pour le code source.

    Sinon sur "SKIP AD", on est bien d'accord que ça veut dire "Sauter la publicité", c'est çà ?

    Est-ce que, au final, tu veux un traitement "rapide", ou alors un traitement lent mais automatique convient.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  7. #7
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut Expérience déjà réalisée!
    Hello TBC

    J'ai donc repris l'expérience dont voici la vidéo :

    https://vid.me/oT2Q

    Je récupérai déjà le code source après une temporisation, j'obtiens le même code source qu’auparavant avec le "SKIP AD"

    Et oui SKIP AD signifie bien "passer la pub" et le traitement très lent mais fonctionnel m'ira à la perfection!

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/02/2007, 20h30
  2. [Fortran 95] Comment exécuter mon programme ?
    Par silver2 dans le forum Fortran
    Réponses: 1
    Dernier message: 15/01/2007, 16h15
  3. [UBUNTU] Comment exécuter le programme Latex ?
    Par Keuf95 dans le forum Ubuntu
    Réponses: 1
    Dernier message: 11/08/2006, 17h54
  4. Comment exécuter un programm
    Par Murieyaya dans le forum Langage
    Réponses: 2
    Dernier message: 13/12/2005, 10h50
  5. Comment exécuter un programme externe ?
    Par spikto dans le forum Langage
    Réponses: 12
    Dernier message: 27/06/2005, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo