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

VB.NET Discussion :

Simuler clic sur ancre en js avec CEFsharp [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Juriste
    Inscrit en
    Mars 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Juriste
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2004
    Messages : 49
    Par défaut Simuler clic sur ancre en js avec CEFsharp
    Bonjour à toutes et tous,

    J'ai développé une petite appli me permettant de naviguer sur un site pour afficher une après une les pages des résultats d'une requête afin de sauvegarder chacune de ces pages en pdf dans le but de les merger ensuite.

    Tout fonctionne bien quand j'appelle les pages via l'url mais alors le numéro de page sélectionné affiché reste toujours à la page 1 même si le reste du contenu correspond bien à la page demandée. Donc il faut que chaque page soit appelée par un lien en javascript et non via l'url.

    Précisément les liens vers les numéros de pages de résultats sont des ancres de type href="#/page/2"

    Ça fait plusieurs jours que je suis dessus en vain

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim jsScript As String = <js><![CDATA[document.getElementByTagName("a[href="#/page/4"]").click();]]></js>.Value
                browser.ExecuteScriptAsync(jsScript)
    Ne fonctionne pas.

    Quelqu'un peut-il me dire pourquoi j'ai faux ?

    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Juriste
    Inscrit en
    Mars 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Juriste
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2004
    Messages : 49
    Par défaut
    Bon de guerre lasse, comme je ne paviens pas à cibler l'élément sur lequel cliquer pour changer de page, je me suis résolu à faire comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim jsScript As String = <js><![CDATA[document.getElementByTagName('a')[0].click();]]></js>.Value
    browser.ExecuteScriptAsync(jsScript)
    Heureusement les liens des pages 1, 2, 3 ... ont toujours le même index de la collection <A>, mais comme je ne sais pas passer une variable vb.net en indice de la collection, j'en suis rendu à faire comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If nb = 1 Then jsScript = <js><![CDATA[ document.getElementsByTagName('A')[78].click();]]></js>.Value
                If nb = 2 Then jsScript = <js><![CDATA[ document.getElementsByTagName('A')[79].click();]]></js>.Value
                If nb = 3 Then jsScript = <js><![CDATA[ document.getElementsByTagName('A')[80].click();]]></js>.Value
    etc

    C'est minable, mais je ne peux pas mieux faire

    (Et dans mon malheur, le site est moisi: à partir de la huitième page quand on clique sur le lien page suivante c'est la 10 qui s'affiche mais avec le numéro de la 9. Il faut recliquer le lien vers 9ème page pour avoir son véritable contenu, pffff)

  3. #3
    Membre averti
    Homme Profil pro
    Juriste
    Inscrit en
    Mars 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Juriste
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2004
    Messages : 49
    Par défaut
    Bonjour,

    J'ai finalement trouvé par hasard la manière de passer ma variable vb.net dans mon script javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim nb as Double = 1
    Dim jsScript as String
     
    jsScript = "document.location = '#/page/'+'" + nb.ToString + "';"
    Browser.ExecuteScriptAsync(jsScript)
    (où nb est le nombre de la page à atteindre et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Browser = New ChromiumWebBrowser("https://[url_du_site]) With {
            .Dock = DockStyle.Fill
                })
    A cas où ça puisse servir à quelqu'un d'autre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. simuler clic sur un lien ajax
    Par alexxxx69 dans le forum ASP.NET Ajax
    Réponses: 0
    Dernier message: 29/11/2011, 11h23
  2. Simuler clic sur un lien
    Par hugo7 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/03/2011, 18h04
  3. Simuler clic sur bouton image sans nom
    Par andrebernard dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 11/03/2009, 14h00
  4. [pocket PC] simuler clic sur fenêtre alerte
    Par EMIexperience dans le forum Mobiles
    Réponses: 1
    Dernier message: 31/07/2008, 20h10
  5. [VB.NET] Trouver un handle, simuler clic sur bouton
    Par 6su7 dans le forum Windows Forms
    Réponses: 33
    Dernier message: 21/08/2006, 09h38

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