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 :

Problème GetElementById & WebBrowser


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Par défaut Problème GetElementById & WebBrowser
    Salut, alors j'ai un nouveau problème : Je veut inscrire un texte, mais cela me faire cette erreur :



    Pourtant "message" est juste :



    Alors je ne sais pas quoi faire...

    Cordialement,
    Juaaah.

  2. #2
    Membre chevronné
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Par défaut
    Bonjour,

    A priori il ne trouve pas l'élément "message".

    Remplacez

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WebBrowser1.Document.GetElementById("message").SetAttributes("value", (TextBox1.Text))
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim element As HtmlElement = WebBrowser1.Document.GetElementById("message")
    If (element IsNot Nothing) Then
        element.SetAttributes("value", TextBox1.Text)
    Else
        MsgBox("Erreur, la boîte de message est inaccessible")
    End If
    pour le confirmer.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Par défaut
    D'abord, j'aimerais vous remercier pour votre réponse, voici ce que j’obtiens lorsque j'entre votre code :



    Cordialement,
    Juaaah.

  4. #4
    Membre chevronné
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Par défaut
    Au temps pour moi, faute de frappe : un "s" non gratta s'est invité dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                element.SetAttribute("message", TextBox1.Text)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Par défaut
    D'accord, merci. L'erreur que tu à écrite c'est donc produite, donc sa marche pas ^^

  6. #6
    Membre chevronné
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Par défaut
    C'est donc du coté de la méthode employée qu'il faut chercher l'erreur, et non pas du coté de la syntaxe.

    La page HTML est-elle entièrement chargée au moment de l'évènement ?
    La boîte "message" est-elle nativement présente dans la page, ou est-elle ajoutée dynamiquement (par un script par exemple) ?
    Des "frames" ne viendraient-ils pas brouiller les pistes, quant à la page affichée ?
    etc...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Par défaut
    Et bien c'est un chat : Lien.

    Et je veut écrire un message à partir de ma form.

  8. #8
    Membre chevronné
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Par défaut
    Bonjour,

    J'ai été faire un tour sur le lien que vous donnez. Effectivement, la page ajoute de manière dynamique un contenu dans un cadre (iframe).

    Le contenu en question contient la boîte "message" convoitée. Hélas, ce contenu est issu d'une domaine différent : A ma connaissance, il n'est pas possible dans ce cas d'accéder au contenu du cadre, l'accès est refusé.

    Il y a peut être une solution élégante, mais ça dépasse mes compétences.

    Par contre, l'URL du contenu du cadre est du type "http://s1.chatbox.fr/rid/1/afac08707...cbc240953f18f/". Si on navigue directement sur cette URL dans le WebBrowser, le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim element As HtmlElement = WebBrowser1.Document.GetElementById("message")
    If (element IsNot Nothing) Then
        element.SetAttribute("value", TextBox1.Text)
    Else
        MsgBox("Erreur, la boîte de message est inaccessible")
    End If
    fonctionne parfaitement !

    A vous de voir si c'est une solution envisageable...

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Par défaut
    Merci, mais il est impossible de créer un lien comme celui que vous m'avez envoyé, j'ai essayé avec un nouveau chat et sa ne marche toujours pas, voici le lien :

    http://www.i-tchat.com/?113050

  10. #10
    Membre chevronné
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Par défaut
    Si on jette un oeil dans le code source de la page, on trouve :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <h1>Shoutbox Juaaah</h1>
    <div id="wrap">
    <iframe name="itchat_iframe" id="itchat_iframe" src="http://www.i-tchat.com/shoutbox/shoutbox.php?idShoutbox=113050" width="100%" height="480" frameborder="0">
    Version sans frame : <a href="http://www.i-tchat.com/shoutbox/shoutbox.php?idShoutbox=113050">shoutbox</a>
    </iframe>
    </div>
    Dans la balise src, on a le fameux lien.

    Et dans ce cas précis, on s'aperçoit que le lien pointe sur le même domaine (http://www.i-tchat.com/). Il est donc tout à fait possible d'accéder au contenu du iframe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            Dim f1 As Windows.Forms.HtmlWindow = WebBrowser1.Document.Window.Frames(0)
            Dim element As HtmlElement = f1.Document.GetElementById("message")
     
            If (element IsNot Nothing) Then
                element.SetAttribute("value", "coucou !")
            Else
                MsgBox("Erreur, la boîte de message est inaccessible")
            End If
    J'ai essayé, ça fonctionne parfaitement.

    Je résume donc :
    - Si le contenu du iframe est issu du même domaine, il est possible d'accéder à ce contenu ;
    - Si le contenu du iframe est issu d'un autre domaine, il est verrouillé (enfin en l'état actuel de mes connaissances).

  11. #11
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Par défaut
    bonjour, voici un simple tchat a ton probleme. il fonctionne voici en image.
    voici en image :


    voici mes codes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Class Form1
     
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            WebBrowser1.Navigate("http://www.i-tchat.com/shoutbox/shoutbox.php?idShoutbox=113050")
        End Sub
     
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            WebBrowser1.Document.GetElementById("username").SetAttribute("Value", TextBox1.Text)
            WebBrowser1.Document.GetElementById("message").SetAttribute("Value", TextBox2.Text)
            WebBrowser1.Document.GetElementById("send").InvokeMember("Click")
        End Sub
    End Class
    PS: n'oublie pas cliquer sur resolu

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Par défaut
    Super merci des vos réponses Mais il me reste un problème, j'ai voulu prendre le contenue du chat mais sa n'a pas marché, j'ai fait comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RichTextBox1.Text = WebBrowser1.Document.GetElementById("messages").InnerText
    Mais sa ne marche pas :'(

  13. #13
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Par défaut
    voici en image:


    mes codes:
    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
    Public Class Form1
     
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            WebBrowser1.Navigate("http://www.i-tchat.com/shoutbox/shoutbox.php?idShoutbox=113050")
        End Sub
     
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            WebBrowser1.Document.GetElementById("username").SetAttribute("Value", TextBox1.Text)
            WebBrowser1.Document.GetElementById("message").SetAttribute("Value", TextBox2.Text)
            WebBrowser1.Document.GetElementById("send").InvokeMember("Click")
        End Sub
     
        Private Sub WebBrowser1_DocumentCompleted(sender As System.Object, e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
            RichTextBox1.Text = WebBrowser1.Document.GetElementById("messages").InnerText
        End Sub
    End Class
    es ce que ça répond a ta demande?

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Par défaut
    Voici ce que j'ai obtenue :

  15. #15
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Par défaut
    ok, j'ai vue ton probleme.
    voici mon projet:http://www33.zippyshare.com/v/98258926/file.html

    regarde mon projet, dit moi si tu as le même probleme.

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Par défaut
    Sa marche, mais je ne comprend pas pourquoi moi sa ne marche pas sur mon projet...

  17. #17
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Par défaut
    essaye ceci:
    je pense que,quand tu as mis webbronser1 et après tu clique RichTextBox1 dessus webbronser1.

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Par défaut
    J'ai pas compris votre phrase

  19. #19
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Par défaut
    je veux dire, quand tu mes webbrowser en grand, tu clique sur RichTextBox1 dans la barre outils et du le déplace sur webbrowser1.
    es ce que tu as compris?

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 98
    Par défaut
    Pouvez vous me montrer par un vidéo ou image ou même un schéma ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème de Favoris - Webbrowser
    Par icekev dans le forum VB.NET
    Réponses: 12
    Dernier message: 18/12/2009, 14h19
  2. Problème Refresh avec WebBrowser.Navigate
    Par Magohamoths dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/11/2009, 09h54
  3. [VB 2005] Problème avec contrôle WebBrowser
    Par Vinoo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/09/2007, 00h37
  4. Problème getElementById via Firefox 1.0.7
    Par SunSyS dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 18/02/2006, 16h02

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