Tôi quen với PhantomJS. Nhưng tôi không thể có được một thứ. Tôi có một trang với một hình thức đơn giản:Làm cách nào để gửi biểu mẫu bằng 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>
và save.php chỉ viết xuống giá trị test_data
vì vậy tôi đang làm điều này:
page.evaluate(function() {
document.forms[0].test_data.value="555";
doSubmit();
});
Khi hiển thị trang tôi xem trường văn bản đó là 555, nhưng biểu mẫu không được gửi và save.php không ghi giá trị test_data. Vì vậy, doSubmit()
không được thực hiện, phải không? doSubmit()
là một bước xác nhận đơn giản và gửi một nghĩa vụ phải tải trang tiếp theo.
Vì vậy, câu hỏi đặt ra là: làm cách nào tôi có thể thực thi mã javascript trên trang bằng PhantomJS?
'chức năng doSubmit() { \t \t \t if (document.form [0] .test_data.value == "") \t {\t \t \t cảnh báo ("Điền vào trường!"); \t \t trả về false; \t} \t \t trả về true; } 'Đây là, xin lỗi tôi quên đăng nó trong câu hỏi của tôi. Nó chỉ làm việc xác nhận. – user3416803
Ồ, tôi hiểu rồi. Vì vậy, tôi chỉ cần nhấp vào nút gửi qua JS? Dù sao. Nếu tôi cần phải thực hiện chức năng, nó sẽ hoạt động theo cách này hay có cách tiếp cận khác? Xin lỗi vì bị què. – user3416803
Bản sao có thể có của [Cách gửi biểu mẫu bằng PhantomJS] (http://stackoverflow.com/questions/9246438/how-to-submit-a-form-using-phantomjs) –