3 Stimmen

Verwendung von Javascript mit Applescript zur Übermittlung von Daten an eine Webseite

Ich versuche, mich bei einer Website anzumelden, die Javascript (do javascript) in einem Appleskript verwendet, das ich schreibe. Ich war in der Lage, Daten mit (document.getElementById) zu analysieren, aber ich kann nichts finden, um Daten zu senden, um Daten auf der Webseite einzugeben und oder sich anzumelden.

Die Elemente, mit denen ich arbeite, sind:

<input style="width:80%;" type="text" name="ssn" id="ssn">

<input type="password" name="password" style="width:80%;">

<input type="radio" value="current" name="period" checked="checked">

<input type="submit" value="Submit" name="Action">

Das erste Bit ist mein Benutzername, das nächste mein Passwort, danach ein Optionsfeld zur Auswahl der Anmeldeart und dann die Schaltfläche "Senden".

Wenn es eine Möglichkeit gibt, dies zu tun, wäre ich für jede Hilfe dankbar.

Gracias

4voto

Clark Punkte 813

Ich habe ein Beispiel für das Ausfüllen von Formularen bei FedEx in meinem Blog.

http://www.libertypages.com/clarktech/?page_id=1570

In diesem Skript sende ich das Formular nicht ab (da ich normalerweise die Übermittlung zuerst überprüfen möchte). Kürzlich habe ich das Skript so geändert, dass es automatisch abgeschickt wird, obwohl ich es noch nicht geschrieben habe. Der Zusatz ist jedoch einfach. Bei FedEx machen Sie einfach folgendes. (Sie können dies zu dem oben verlinkten Skript hinzufügen)

Safari.do_JavaScript(u "document.getElementById('completeShip.ship.field').click()", in_=FEdoc)

Dadurch wird die Schaltfläche für die Einreichung anhand der ID ermittelt und dann angeklickt. Sie sollten in der Lage sein, dies leicht an Ihr Skript anzupassen, wenn die Website IDs verwendet.

Beachten Sie, dass die obigen Ausführungen Appscript und Python verwenden. (Meine bevorzugte Skripting-Umgebung) Um dies in reinem Applescript zu tun, ändern Sie einfach den obigen Text in etwas wie

tell application "Safari"
  activate
  weight = "2"
  set doc to document "FedEx | Ship Manager | Shipping"
  do JavaScript "document.forms['shipActionForm']['psd.mps.row.weight.0'].value = '" & weight & "'" in doc
  do JavaScript "document.getElementById('completeShip.ship.field').click()" in doc
end tell

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X