В любом случае я могу остановить это перенаправление и загрузить исходный URL-адрес?
Нет, потому что это делается на уровне сервера (перенаправление заголовка).
Но вы можете нажать кнопку «Продолжить на статью» или подождать, пока forbes.com автоматически перенаправит вас на статью через 5 секунд или около того.
Я покажу, как ждать:
var page = require('webpage').create();
page.viewportSize = { width: 1440, height: 900 };
page.settings.userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36";
// This callback is run every time a page is done loading.
// The first time it is the welcome page, the second time it's the target page.
page.onLoadFinished = function(){
// Let's get the URL of current page
var url = page.evaluate(function(){
return document.location.href;
});
console.log(url);
// Is it the welcome page? No
if(url.indexOf("forbes/welcome") == -1)
{
setTimeout(function(){
page.render("forbes-article.png");
var title = page.evaluate(function(){
return document.querySelector("h1.article-headline").innerText;
});
console.log(title);
phantom.exit();
}, 1000);
}
// Yes it is the welcome page, let's just wait
else
{
console.log("redirected to welcome screen, waiting");
page.render("forbes-welcome.png");
}
};
page.open("http://www.forbes.com/sites/prossermarc/2016/10/14/softbanks-new-100b-tech-fund-shows-exactly-how-its-expanding-beyond-telco/#6e5027484acb");