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.
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.
Bonjour,
A priori il ne trouve pas l'élément "message".
Remplacez
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part WebBrowser1.Document.GetElementById("message").SetAttributes("value", (TextBox1.Text))
pour le confirmer.
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
D'abord, j'aimerais vous remercier pour votre réponse, voici ce que j’obtiens lorsque j'entre votre code :
Cordialement,
Juaaah.
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)
D'accord, merci. L'erreur que tu à écrite c'est donc produite, donc sa marche pas ^^
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...
Et bien c'est un chat : Lien.
Et je veut écrire un message à partir de ma form.
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 :
fonctionne parfaitement !
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
A vous de voir si c'est une solution envisageable...
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
Si on jette un oeil dans le code source de la page, on trouve :
Dans la balise src, on a le fameux lien.
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>
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 :
J'ai essayé, ça fonctionne parfaitement.
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
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).
bonjour, voici un simple tchat a ton probleme. il fonctionne voici en image.
voici en image :
voici mes codes:
PS: n'oublie pas cliquer sur resolu
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
Super merci des vos réponsesMais 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 :
Mais sa ne marche pas :'(
Code : Sélectionner tout - Visualiser dans une fenêtre à part RichTextBox1.Text = WebBrowser1.Document.GetElementById("messages").InnerText
voici en image:
mes codes:
es ce que ça répond a ta demande?
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
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.
Sa marche, mais je ne comprend pas pourquoi moi sa ne marche pas sur mon projet...
essaye ceci:
je pense que,quand tu as mis webbronser1 et après tu clique RichTextBox1 dessus webbronser1.
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?
Pouvez vous me montrer par un vidéo ou image ou même un schéma ?
Partager