Ben PhantomJS aşina alıyorum. Ama bir şey alamıyorum. Basit bir form ile bir sayfa var:PhantomJS ile nasıl bir form gönderilir?
<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>
ve save.php sadece ben yapıyorum bu yüzden
test_data değeri aşağı yazıyor:
page.evaluate(function() {
document.forms[0].test_data.value="555";
doSubmit();
});
sayfa I render Metin alanının 555 olduğunu, ancak formun gönderilmediğini ve save.php'nin bir test_data değeri yazmamış olduğunu görüyoruz. Yani doSubmit()
çalışmıyor, değil mi? doSubmit()
basit bir doğrulama adımıdır ve gönderimin sonraki sayfayı yüklemesi beklenir.
Yani soru şudur: PhantomJS kullanarak sayfada bir javascript kodunu nasıl çalıştırabilirim?
'işlevi doSubmit() { \t \t \t if (document.forms [0] .test_data.value == "") \t {\t \t \t alert ("Alanı doldurun!"); yanlış \t \t dönüş; \t \t true; } 'İşte benim soru göndermeye unuttum üzgün. Sadece doğrulama yapıyor. – user3416803
Oh, şimdi anlıyorum. Bu yüzden sadece JS ile gönder düğmesine basmalıyım? Neyse. Fonksiyonu çalıştırmam gerekirse, bu şekilde mi çalışacak yoksa başka bir yaklaşım var mı? Topaldığım için üzgünüm. – user3416803
Olası kopyası [PhantomJS kullanarak nasıl bir form gönderilir] (http://stackoverflow.com/questions/9246438/how-to-submit-a-form-using-phantomjs) –