J'essaye d'automatiser un site Web et me trouve avoir besoin d'arriver au contenu d'un iframe. Comme il est une application interne, je l'ai mis dans cet exemple, qui illustre l'erreurComment interagir avec un Iframe en utilisant Powershell?
$ie = new-object -com "InternetExplorer.Application"
$ie.navigate("http://arstechnica.com/")
$ie.visible = $true
$doc = $ie.document
$maglistcontrol = $doc.getElementById("mag_list")
$maglistcontrol.value= "Concierge"
Voici le message d'erreur que je reçois
You cannot call a method on a null-valued expression.
At line:6 char:38
+ $maglistcontrol = $doc.getElementById <<<< ("mag_list")
+ CategoryInfo : InvalidOperation: (getElementById:String) [], RuntimeExce
ption
+ FullyQualifiedErrorId : InvokeMethodOnNull
Property 'value' cannot be found on this object; make sure it exists and is settable.
At line:7 char:17
+ $maglistcontrol. <<<< value= "Concierge"
+ CategoryInfo : InvalidOperation: (value:String) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound
Le problème est, le champ mag_list est dans un iframe et la référence n'est pas valide. Des idées?
$ w.frames ne renvoie pas de valeurs qui signifie que futher $ w.frames [0] a pas de valeur non plus –
Oui, je ne comprends pas. L'objet window est censé avoir une propriété frames. Voir http://www.w3schools.com/jsref/obj_window.asp par exemple. – Timores
ressemble à powershell ne donne pas un accès complet à ce modèle .... (soupir). Peut-être d'une autre façon? –