2016-03-28 11 views
2

Ignorieren, dass dies sehr einfach vor Ort zu replizieren wäre, habe ich einen Glanz zu verwenden http://dinopass.com für Menschen geben einfache temporäre Kennwörter, um weg von der Verwendung von "Welcome1" die ganze Zeit.Erhalten von Javascript-Wert von einem Eingabe-Tag

Wenn die obige Seite geladen wird, sehen Sie nichts anderes als eine Box, die ein Passwort enthält. Ich möchte das für meine Skripte extrahieren.

In seiner einfachsten Form habe ich versucht, so etwas zu tun:

$wr = Invoke-WebRequest www.dinopass.com 
$wr.ParsedHtml.getElementById("password-input") 

es jedoch keine Inhalte für .Value, .InnerText oder jeder andere Wert von bei Get-Member suchen. Ich gehe davon aus, dass das Passwort über JavaScript generiert wird, nehme aber auch an, dass es irgendwo gerendert werden muss, damit es von meinem Browser angesehen werden kann.

Mit Blick auf den HTML-Code der Seite, die ich sehen kann, warum ich Probleme habe, da es anscheinend keinen Text zu extrahieren:

<div id="password"><input id="password-input" style="display: block;"></div> 

Wo finde ich wo dieser Wert programmatisch gespeichert wird?

+0

Ich wäre mehr als glücklich, wenn das ein Betrogener wäre. Ich habe Probleme, einen zu finden. – Matt

Antwort

2

Ich denke, dass Sie den Prozess durch das Durchsuchen von HTML-Elementen zu kompliziert machen ... DinoPass hat auch eine API zur Verfügung, die Sie gerne verwenden können.

Haben Sie versucht mit http://www.dinopass.com/password/simple oder http://www.dinopass.com/password/strong?

Invoke-RestMethod http://www.dinopass.com/password/simple 

Mit irm verbietet mit dem Objekt zu behandeln, die durch iwr zurückgegeben wird.

+1

Ich habe das gerade herausgefunden, indem ich mir die JS-Datei anschaute und meine Antwort bearbeiten wollte, aber jetzt ist es verwerflich. Das ist der Weg! Und es können Sie '-UseBasicParsing' verwenden – briantist

+0

@Matt Nicht genau sicher, warum Sie' -UseBasicParsing' benötigen, aber nur auf diese Weise testen '$ password = Invoke-RestMethod http: // www.dinopass.com/password/simple' funktioniert wunderbar für mich. – krousemw

+0

@krousemw Einverstanden, dass es in diesem Fall gut geht. – Matt

Verwandte Themen