[R] Problème _IEPropertyGet

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Eoweakin
Niveau 3
Niveau 3
Messages : 46
Enregistré le : sam. 04 juil. 2009 10:48
Status : Hors ligne

[R] Problème _IEPropertyGet

#1

Message par Eoweakin »

Bonjoursoir,
J'aurais besoin d'aide, quand je fais un _IEPropertyGet($oIE, "statustext")
La console me renvoi :
E:\AutoIt3\Include\IE.au3 (2739) : ==> The requested action with this object has failed.:
Return SetError($_IEStatus_Success, 0, $o_object.StatusText())
Return SetError($_IEStatus_Success, 0, $o_object.StatusText()^ ERROR
Alors que plus haut j'ai fait un _IEPropertyGet($oIE, "LocationUrl") qui fonctionne très bien...

D'ou vient le problème ?


Merci !
Modifié en dernier par Eoweakin le mer. 27 oct. 2010 09:49, modifié 2 fois.
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#2

Message par Jerome »

Coucou,

Tu peux test, d'après ce lien en utilisant ceci :

Code : Tout sélectionner

Looking at IE.au3, I could replace:
_IEPropertyGet($oIE, "statustext")
with:
$oIE.StatusText()

Sinon c'est possible d'avoir un peu plus de code ?
Pourquoi utilises - tu IE2.au3 et pas IE.au3 ?





Jérôme
Avatar du membre
Eoweakin
Niveau 3
Niveau 3
Messages : 46
Enregistré le : sam. 04 juil. 2009 10:48
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#3

Message par Eoweakin »

...
J'ai test en faisant ça :

Code : Tout sélectionner

$Text = $oIE9.StatusText()
Mais la console renvoie tjrs
F:\********\Essais.au3 (51) : ==> The requested action with this object has failed.:
$Text = $oIE9.StatusText()
$Text = $oIE9.StatusText()^ ERROR
Le problème viendrait donc de Status.Text()...?
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#4

Message par Jerome »

Re-Coucou,


Non je ne pense pas.

Essaye sa comme dans l'exemple :

Code : Tout sélectionner

$oIE = _IE_Example("form")

$oForm = _IEFormGetObjByName($oIE, "ExampleForm")
$oTextArea = _IEFormElementGetObjByName($oForm, "textareaExample")

; Get coordinates and dimensions of the textarea
$iScreenX = _IEPropertyGet($oTextArea, "screenx")
La variable que tu passes dans _IEPropertyGet doit être obtenue avec _IEFormGetObjByName.

Un peu plus de code aiderait.





Jérôme
Modifié en dernier par Jerome le mar. 26 oct. 2010 20:52, modifié 1 fois.
Avatar du membre
Eoweakin
Niveau 3
Niveau 3
Messages : 46
Enregistré le : sam. 04 juil. 2009 10:48
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#5

Message par Eoweakin »

Sauf que moi ce que je veux, c'est récupérer le texte de la barre d'état d'une fenêtre IE, pas avoir les dimensions d'une form...
Et pour IE2, c'est juste un erreur, j'ai juste 2 includes identiques sous 2 noms différents...
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#6

Message par Jerome »

Suffit de remplacer par ce que tu veux....

Et sa fait 2 fois que je demande un bou de code, ton $oIE9 ou n'importe quoi d'autre ..., parce que chez moi sa fonctionne.

Donc que tu me donne ce plus d'info sur ce que tu veux récupérer, et ou ? Je serais déjà en mesure de plus t'aider....




Jérôme
Avatar du membre
Eoweakin
Niveau 3
Niveau 3
Messages : 46
Enregistré le : sam. 04 juil. 2009 10:48
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#7

Message par Eoweakin »

Ok Ok,

Code : Tout sélectionner

$oIE9 = _IECreateEmbedded()
GUICtrlCreateObj($oIE9, 0, 72, 800, 600)
_IENavigate($oIE9, "http://google.fr", 0)
_IELoadWait($oIE9)
[color=#FF0000]$Text = $oIE9.StatusText()[/color]
Je voudrais récupérer le texte de le barre de statut de mon Embedded IE...

Sinon ça vient ptet de mon Include IE...
Peux tu me donner le tien ?
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#8

Message par Jerome »

Re-Coucou,

Mon IE.au3 est celui de base, sans modif.

Je voudrait test si t'arrive a passer la commande avec statustext.

Tu peux essayer ce bout de code la :

Code : Tout sélectionner

#include <IE.au3>
$oIE = _IECreate("http://www.autoitscript.com", 0, 1, 0, 0)

Local $sStatus

While not ($sStatus = "Terminé")
    $sStatus = _IEPropertyGet($oIE , "statustext")
    ConsoleWrite("Text : " & $sStatus & @CRLF)

WEnd
Si sa ne fonctionne pas ou ne répond pas à ta demande, je laisserai quelqu'un d'autre répondre à la question parce que je voit pas trop bien le soucis.



Jérôme
Avatar du membre
Eoweakin
Niveau 3
Niveau 3
Messages : 46
Enregistré le : sam. 04 juil. 2009 10:48
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#9

Message par Eoweakin »

Ton bout de code marche nikel...!
Je teste sur mon prog....
EDIT: Ben la ca march eplus, ca voudrait dire qu'on ne peut pas récuperer le texte d'état d'un Embedded IE ?
Pourtant iSafari arrivait bien à le faire, mais on ne peut pas avoir la source, le lien est mort...
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#10

Message par Jerome »

:s
► Afficher le texte
Bref, peut - être que quelqu'un d'autre aura solution à ton problème...




Jérôme
Avatar du membre
Eoweakin
Niveau 3
Niveau 3
Messages : 46
Enregistré le : sam. 04 juil. 2009 10:48
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#11

Message par Eoweakin »

DJSIR peut m'aider, vu qu'il a réussi dans iSafari...
Quelqu'un à la source de iSafari ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#12

Message par Tlem »

Il faut demander à BlueCore maintenant. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#13

Message par timmalos »

DJSIR n'avait pas réussi dans Isafari, tout simplement parce que c'est impossible,ou alors il a utilisé un moyen détourné mais peut etre que si vous nous expliquiez ce que vous souhaitez faire ca irait plus vite...
Si c'est juste pour savoir si la page a finie de se charger, d'autres moyens existent que d'attendre le Terminé.

J'affirme ma première phrase car MSDN le dit clairement (http://msdn.microsoft.com/en-us/library/aa752076.aspx):
The WebBrowser object returns an error from this property.
Pour les anglophobes, la propriété "StatusText" n'est pas accessible depuis le WebBrowser, qui est appelé avec _IECreateEmbedded.
Voilà donc ce qui explique pourquoi ceci marche avec un _IECreate et non avec un _IECreateEmbedded

Voilà toutes les propriétés accessibles avec _IEEmbedded(), les autres ne le sont pas: Cf menu PROPERTIES dans la page suivante :
http://msdn.microsoft.com/en-us/library/aa752085.aspx

Edit : si vous cherchez juste à savoir si la page est 'done' ou 'terminé', utilisez plutôt 'busy' avec un NOT.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#14

Message par sylvanie »

Pour un élément de réponse :

_IECreateEmbedded renvoie un objetde type Shell.Explorer.2, qui est intégrable en gui grâce à GUICtrlCreateObj. Mais cet objet n'apas de propriété Statustext.

l'objet ayant cette propriété est InternetExplorer.Application.1 celui renvoyé par _IECreate(). Mais le pb est que cet objet est un IE complet (fenêtre, bouton ...) et ceci échoue si on le passe à GUICtrlCreateObj (du moins sur Windows7 et IE8, faudrait vérifier avec une autre config, cf mon gros doute un peu plus bas)

Maintant pour Isafari ... Peut être cette appli lance un IECreate en mode caché pour se nourrir des infos, ou alors c'est bien un _IECreateEmbedded et il gère son propre statustext ???

Cependant il y a cet annotation sur la page MSDN qui m'interpelle, cer je n'arrive pas à sasir les concéquence avec IE8 :

Internet Explorer 8. On Windows Vista, to create an instance of Internet Explorer running at a medium integrity level, pass CLSID_InternetExplorerMedium (defined in exdisp.idl) to CoCreateInstance. The resulting InternetExplorerMedium object supports the same events, methods, and properties as the InternetExplorer object.


Est ce que du coups il n' y a pas un effet de bord quand on a cette config...
[edit] croisement de post avec Timmalos
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#15

Message par DJSIR »

Code : Tout sélectionner

$IE = _IECreateEmbedded()
$IE_OBJ = GUICtrlCreateObj($IE, 5, 40, 790, 528)
ObjEvent($IE, "IEEvent_", "DWebBrowserEvents")

Code : Tout sélectionner

Func IEEvent_StatusTextChange($TEXT)
    GUICtrlSetData($Statut, $TEXT)
EndFunc   ;==>IEEvent_StatusTextChange
msdn.microsoft.com/../aa768349(VS.85)
Func IEEvent_ProgressChange($PROGRESS, $PROGRESS_MAX)
Func IEEvent_NavigateComplete($URL)
...
:P

Jvous ai tous nickés !
Modifié en dernier par DJSIR le mer. 27 oct. 2010 09:51, modifié 1 fois.
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
Eoweakin
Niveau 3
Niveau 3
Messages : 46
Enregistré le : sam. 04 juil. 2009 10:48
Status : Hors ligne

Re: [..] Problème _IEPropertyGet

#16

Message par Eoweakin »

Merci !!! :lol:
Qui est Blue Core ?
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [R] Problème _IEPropertyGet

#17

Message par DJSIR »

$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [R] Problème _IEPropertyGet

#18

Message par sylvanie »

Ah bà oui ! l'enregistrement à la callback des évènement d'IE ... Pourtant on en a mangé à la grande époque où tout le monde voulait faire son "IE-like".

Pour plus d'info, ça permet surtout de se "gréffer" sur l'ensemble des évènement de l'objet explorer.2.

dans le même style, si vous tapez "DWebBrowserEvents" dans l'onglet rechercher d'autoit, vous verrez 2 exemples traitant la fonctionnalité.
De même, dans les sources fournies par DJSIR, on en a pas mal, et sinon tiré du même site indiqué par DJ§SIR, on a http://msdn.microsoft.com/fr-fr/library ... S.85).aspx qui donne la liste exhaustive des évènements à surcharger.

Comme ça si vous voulez manipuller d'autres propriétés de cet objet, vous êtes servi ...
Bon sur ceux, je vais aller me faire poser mon implant dentaire... ça n'avance en rien le sujet, mais personnellement ça m'encourrage de m'exprimer ... :lol:
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Répondre