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 :

Paramètre en variable de l'instruction .Navigate [Débutant]


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2010
    Messages : 30
    Points : 21
    Points
    21
    Par défaut Paramètre en variable de l'instruction .Navigate
    Bonjour j'explique un peu, voici l'extrait de mon code qui va chercher des infos sur un page web, ça fonctionne bien sinon que je veux passer l'argument "http://www.monsite.be..." en variable, comment puis-je m'y prendre ?

    merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim web, New WebBrowser
    Dim webrequest As string
     
     
    web.Navigate("http://www.monsite.be...")
    webrequest = web.Document.GetElementById("maDiv").InnerHtml
     
    While Not web.ReadyState = WebBrowserReadyState.Complete  ' test l'affichage de la page est terminée
                  Application.DoEvents()
    End While
     
    ...

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    "en variable" ? Tu es sûr ? Tu veux dire en paramètre ? D'une fonction ? De ton prgramme ?
    Et juste pour être sûr : tu parles bien de VB.NET, et pas de VB ?

    PS : utilise les balises CODE (bouton '#') pour que ton code soit plus lisible.
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2010
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Salut,

    "en variable" ? Tu es sûr ? Tu veux dire en paramètre ? D'une fonction ? De ton prgramme ?
    Et juste pour être sûr : tu parles bien de VB.NET, et pas de VB ?

    PS : utilise les balises CODE (bouton '#') pour que ton code soit plus lisible.

    c'est VB 2013 y-a-t-il une grande différence avec VB.NET?

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Je peux me tromper mais à ma connaissance VB s'est arrêté avec la version 6.0 ... en 1998.
    Je suppose donc que "Visual Basic 2013" te permet de faire du VB.NET et non du VB old school.
    Pour les différences entre les deux y'en a un petit paquet mais du coup c'est pas le sujet.

    Peux-tu donc préciser ta demande pour qu'on puisse t'aider ?
    Tu aimerais faire une fonction qui prend une URL en paramètre ?
    Ou que ton application accèpte une URL en argument ?

    Si tu parles uniquement de variable (ce dont je doute) alors il s'agit juste d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     ' ...
    Dim url as String = "http://www.somesite.id/somepage.ext"
    web.Navigate(url)
     ' ...
    Plus je connais de langages, plus j'aime le C.

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2010
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Je peux me tromper mais à ma connaissance VB s'est arrêté avec la version 6.0 ... en 1998.
    Je suppose donc que "Visual Basic 2013" te permet de faire du VB.NET et non du VB old school.
    Pour les différences entre les deux y'en a un petit paquet mais du coup c'est pas le sujet.

    Peux-tu donc préciser ta demande pour qu'on puisse t'aider ?
    Tu aimerais faire une fonction qui prend une URL en paramètre ?
    Ou que ton application accèpte une URL en argument ?

    Si tu parles uniquement de variable (ce dont je doute) alors il s'agit juste d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     ' ...
    Dim url as String = "http://www.somesite.id/somepage.ext"
    web.Navigate(url)
     ' ...
    ce que je veux faire c'est de lire dans un fichier texte (lstsiteweb) une liste de pages à interroger, c'est à la dernière ligne que j'ai un message d'erreur web. est vide !!
    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
     
    Dim webrequest As Object
    Dim nom_fichier As String
    Dim source As String = "C:\VB/cours/"                             ' déclarations
    nom_fichier = source & "lstsiteweb" & ".txt"
     
    Dim tablstsite() As Object = File.ReadAllLines(nom_fichier)  ' lecture du fichier et place dans une table
     
     
    web.Navigate(tablstsite(0))                                            ' 
     
    While Not web.ReadyState = WebBrowserReadyState.Complete  ' test l'affichage de la page est terminée
                Application.DoEvents()
    End While
     
    webrequest = web.Document.GetElementById("nom de l'ID").InnerHtml  ' selection de l'ID

  6. #6
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Re,

    j'ai codé un petit exemple fonctionnel en VB.NET (ça n'a pas été simple, c'est pas mon langage favori )
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Imports System.IO
     
    Public Class frmMain
     
        ' j'ai mis la fonctionnalité dans l'event click d'un bouton
        Private Sub btnGo_Click(sender As Object, e As EventArgs) Handles btnGo.Click
            Dim fileName As String = "C:\Work\url.txt" ' le fichier contenant les URL (une par ligne)
            Dim fileLines() As String = File.ReadAllLines(fileName) ' la lecture du fichier
     
            ' on vérifie que le fichier n'était pas vide
            If (fileLines.Length > 0) Then
                Dim htmlElement As HtmlElement ' la variable dans laquelle sera mis la référence au HTML Element recherché
     
                ' on va requêter l'URL qui est dans la dernière ligne du fichier
                webBrowser.Navigate(fileLines(fileLines.Length - 1))
     
                ' je conserve ta méthode de synchronisation mais un callback serait peut-être plus propre
                While (Not webBrowser.ReadyState = WebBrowserReadyState.Complete)
                    Application.DoEvents()
                End While
     
                ' c'est bon, le DOM est chargé on peut faire notre recherche
                htmlElement = webBrowser.Document.GetElementById("listing")
     
                ' on vérifie qu'on a bien trouvé le HTML Element
                If (Not htmlElement Is Nothing) Then
                    MessageBox.Show("element innerHtml : " + htmlElement.InnerHtml)
                Else
                    MessageBox.Show("element not found")
                End If
     
            Else
                MessageBox.Show("empty file")
            End If
     
        End Sub
    End Class
    Mon fichier url.txt contient en dernier ligne l'URL de la page d'accueil de ce site (http://www.developpez.com/).
    L'élément identifié par listing est un TR contenant les articles du fils d'actualité.

    Tu peux noter que je fais quelques tests pour cadrer un peu le truc, mais il en manque encore
    (notamment la vérification de l'existence du fichier et la gestion exception).
    Plus je connais de langages, plus j'aime le C.

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2010
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Re,

    j'ai codé un petit exemple fonctionnel en VB.NET (ça n'a pas été simple, c'est pas mon langage favori )
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Imports System.IO
     
    Public Class frmMain
     
        ' j'ai mis la fonctionnalité dans l'event click d'un bouton
        Private Sub btnGo_Click(sender As Object, e As EventArgs) Handles btnGo.Click
            Dim fileName As String = "C:\Work\url.txt" ' le fichier contenant les URL (une par ligne)
            Dim fileLines() As String = File.ReadAllLines(fileName) ' la lecture du fichier
     
            ' on vérifie que le fichier n'était pas vide
            If (fileLines.Length > 0) Then
                Dim htmlElement As HtmlElement ' la variable dans laquelle sera mis la référence au HTML Element recherché
     
                ' on va requêter l'URL qui est dans la dernière ligne du fichier
                webBrowser.Navigate(fileLines(fileLines.Length - 1))
     
                ' je conserve ta méthode de synchronisation mais un callback serait peut-être plus propre
                While (Not webBrowser.ReadyState = WebBrowserReadyState.Complete)
                    Application.DoEvents()
                End While
     
                ' c'est bon, le DOM est chargé on peut faire notre recherche
                htmlElement = webBrowser.Document.GetElementById("listing")
     
                ' on vérifie qu'on a bien trouvé le HTML Element
                If (Not htmlElement Is Nothing) Then
                    MessageBox.Show("element innerHtml : " + htmlElement.InnerHtml)
                Else
                    MessageBox.Show("element not found")
                End If
     
            Else
                MessageBox.Show("empty file")
            End If
     
        End Sub
    End Class
    Mon fichier url.txt contient en dernier ligne l'URL de la page d'accueil de ce site (http://www.developpez.com/).
    L'élément identifié par listing est un TR contenant les articles du fils d'actualité.

    Tu peux noter que je fais quelques tests pour cadrer un peu le truc, mais il en manque encore
    (notamment la vérification de l'existence du fichier et la gestion exception).
    un grand merci je test cela très prochainement, te tiens au courant

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

Discussions similaires

  1. passé en paramètre des variables sur un bouton
    Par mademoizel dans le forum ASP
    Réponses: 9
    Dernier message: 07/03/2007, 16h48
  2. Réponses: 7
    Dernier message: 11/10/2006, 13h35
  3. Réponses: 6
    Dernier message: 12/03/2006, 17h30
  4. Requête, paramètre et variable
    Par Maludi dans le forum Access
    Réponses: 6
    Dernier message: 16/12/2005, 12h34
  5. Utilisation d'une variable avec l'instruction 'USE'
    Par florantanplan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/11/2005, 10h39

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