Ich lerne PhantomJS kennen. Aber ich kann nichts bekommen. Ich habe eine Seite mit einer einfachen Form:Wie schicke ich ein Formular mit PhantomJS?
<FORM action="save.php" enctype="multipart/form-data" method="GET" onSubmit="return doSubmit();">
<INPUT name="test_data" type="text">
<INPUT name="Submit" type="submit" value="Submit">
</FORM>
und save.php schreibt nur auf der test_data Wert
so das ich tue:
page.evaluate(function() {
document.forms[0].test_data.value="555";
doSubmit();
});
Wenn die Seite, die ich Rendering Beachten Sie, dass das Textfeld 555 ist, das Formular jedoch nicht übermittelt wird und save.php den Wert test_data nicht aufgeschrieben hat. Also doSubmit()
wird nicht ausgeführt, oder? doSubmit()
ist ein einfacher Validierungsschritt und ein Submit soll die nächste Seite laden.
Also die Frage ist: Wie kann ich einen Javascript-Code auf der Seite ausführen, mit PhantomJS?
'Funktion doSubmit() { \t \t \t if (document.forms [0] .test_data.value == "") \t {\t \t \t Warnung ("Füllen Sie das Feld!"); \t \t Rückgabe false; \t} \t \t Rückkehr wahr; } 'Hier ist es, tut mir leid, ich habe vergessen, es in meiner Frage zu veröffentlichen. Es macht nur die Validierung. – user3416803
Oh, ich sehe jetzt. Also muss ich nur über JS auf den Submit-Button klicken? Sowieso. Wenn ich die Funktion ausführen muss, wird es auf diese Weise funktionieren oder gibt es einen anderen Ansatz? Tut mir leid, dass ich lahm bin. – user3416803
Mögliches Duplikat von [So senden Sie ein Formular mit PhantomJS] (http://stackoverflow.com/questions/9246438/how-to-submit-a-form-using-phantomjs) –