मैं उस पृष्ठ के लिए एक फ़ॉर्म सबमिट करने के लिए phantomJS (क्या एक भयानक उपकरण btw!) का उपयोग करने की कोशिश कर रहा हूं, जिसके लिए मेरे पास लॉगिन क्रेडेंशियल्स हैं, और फिर गंतव्य पृष्ठ की सामग्री को stdout में आउटपुट करें। मैं फ़ॉर्म का उपयोग करने में सक्षम हूं और अपने मूल्यों को सफलतापूर्वक प्रेत का उपयोग करके सेट कर सकता हूं, लेकिन मुझे बिल्कुल यकीन नहीं है कि फॉर्म को प्रस्तुत करने और बाद के पृष्ठ की सामग्री को आउटपुट करने के लिए सही सिंटैक्स क्या है। मेरे पास अब तक क्या है:
var page = new WebPage();
var url = phantom.args[0];
page.open(url, function (status) {
if (status !== 'success') {
console.log('Unable to access network');
} else {
console.log(page.evaluate(function () {
var arr = document.getElementsByClassName("login-form");
var i;
for (i=0; i < arr.length; i++) {
if (arr[i].getAttribute('method') == "POST") {
arr[i].elements["email"].value="mylogin@somedomain.com";
arr[i].elements["password"].value="mypassword";
// This part doesn't seem to work. It returns the content
// of the current page, not the content of the page after
// the submit has been executed. Am I correctly instrumenting
// the submit in Phantom?
arr[i].submit();
return document.querySelectorAll('html')[0].outerHTML;
}
}
return "failed :-(";
}));
}
phantom.exit();
}
setInterval
उपयोगvar func = steps[testindex]
, फिरconsole.log("step " + (testindex + 1) + ": " + funcName(func))
। यह आपको किए जा रहे चरणों के विवरण को जोड़ने की अनुमति देता है।