我用這個例子來創建一個phantomjs代碼來登錄到網站。PhantomJS打開一個接一個的頁面
var page = require('webpage').create();
page.open("http://www.facebook.com/login.php", function(status) {
if (status === "success") {
page.onConsoleMessage = function(msg, lineNum, sourceId) {
console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")');
};
page.evaluate(function() {
console.log('hello');
document.getElementById("email").value = "email";
document.getElementById("pass").value = "password";
document.getElementById("u_0_1").click();
// page is redirecting.
});
setTimeout(function() {
page.evaluate(function() {
console.log('haha');
});
page.render("page.png");
phantom.exit();
}, 5000);
}
});
來自此鏈接。 https://gist.github.com/ecin/2473860
但我想打開另一個按鈕的鏈接或直接在它上面。我該怎麼做?
這是一個更簡單的例子。不起作用...
var page = require('webpage').create();
var url = "www.example.com";
page.open(url, function (status) {
setTimeout(function() {
page.evaluate(function() {
console.log('haha');
});
page.render("example.png");
phantom.exit();
}, 5000);
});
var url = "www.google.com";
page.open(url, function (status) {
setTimeout(function() {
page.evaluate(function() {
console.log('haha');
});
page.render("google.png");
phantom.exit();
}, 5000);
});
注意比PhantomJS有一個不同於節點的執行環境。節點和PhantomJS之間有橋樑,但是它們寫法稍有不同。 –