Page 1 sur 1

[R] Objet DOM avec AutoIT

Posté : ven. 18 sept. 2009 08:32
par abdel792
Bonjour, dans une page HTML figurant sur un serveur en ligne, je voudrais faire lire le contenu d'un paragraphe ayant comme attribut id le mot paragraphe.

Voici le code que j'ai essayé, la question est en commentaire.

Code : Tout sélectionner

#include <IE.au3>
$Url = "http://www.lesite.com/paragraphe.html"
$o_IE = _IECreate($Url,0,1)
$paragraphe=_IEGetObjById ($O_IE, "paragraphe")
;comment récupérer le texte du paragraphe pointé par l'objet $paragraphe pour pouvoire le faire lire dans une instruction MsgBox ?

 

Re: [..] Objet DOM avec AutoIT

Posté : ven. 18 sept. 2009 14:45
par jbnh
Bonjour,

Le mieux pour récupérer un gros bout de texte dans un fichier html, est d'abord de ramener la page sur le DD (avec inetget par exemple). Ensuite, lire le contenu et utiliser des strings pour extraire le passage souhaité. Généralement, stringbetween (voir fichier d'aide) convient parfaitement si le texte est en un morceau.

Re: Objet DOM avec AutoIT

Posté : ven. 18 sept. 2009 17:39
par abdel792
Bonjour JBNH et la liste,

Je vous remercie pour votre aide.

En fait, j'ai trouvé une solution qui me permet de lire le paragraphe pointé sans avoir à télécharger la page localement.

Il fallait juste utiliser la fonction _IEPropertyGet, permettant d'obtenir la propriété de l'objet DOM dont le id est cité dans le script.

L'adresse URL citée dans le script est bien sûr imaginaire, elle n'existe pas.

Vous pourrez si vous voulez, faire un test en utilisant une adresse réelle.

Pour le code de la page "paragraphe.html" cible de l'URL, le voici.

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Test de lecture d'un paragraphe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="MonTitre" href="styles.css" />
</head>
<body>
<h1>Test de lecture d'un paragraphe</h1>
<p id="paragraphe">Voici le paragraphe à lire !</p>
</body>
</html>
 
Et maintenant, vous voici le code du script.

Code : Tout sélectionner

#include <IE.au3>
$Url = "http://www.lesite.com/paragraphe.html"
$o_IE = _IECreate($Url,0,1)
$paragraphe=_IEGetObjById ($O_IE, "paragraphe")
$text=_IEPropertyGet($paragraphe, "innertext")
MsgBox (64, "Paragraphe à lire", "Le paragraphe à lire est le suivant : " & $text)