[R] Objet DOM avec AutoIT

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
abdel792
Niveau 2
Niveau 2
Messages : 21
Enregistré le : sam. 27 juin 2009 13:28
Status : Hors ligne

[R] Objet DOM avec AutoIT

#1

Message 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 ?

 
Modifié en dernier par abdel792 le ven. 18 sept. 2009 17:41, modifié 2 fois.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Objet DOM avec AutoIT

#2

Message 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.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
abdel792
Niveau 2
Niveau 2
Messages : 21
Enregistré le : sam. 27 juin 2009 13:28
Status : Hors ligne

Re: Objet DOM avec AutoIT

#3

Message 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)
 
Répondre