slimerJS에서 모든 URL 리디렉션을 가져 와서 배열에 저장 한 다음 최종 URL의 스크린 샷을 렌더링하는 방법은 무엇입니까?URL을 slimerJS로 리디렉션하고 최종 URL의 스크린 샷을 가져옵니다.
예를 들어 red.com을 slimer로 실행했지만 PHP를 통해 blue.com으로 리디렉션 한 다음 자바 스크립트를 통해 yellow.com으로 다시 리디렉션하는 경우 어떻게 이러한 리디렉션을 배열에 저장할 수 있습니까?
리디렉션이 끝나면 위의 예에서 yellow.com과 같은 최종 URL의 스크린 샷을 찍습니다.
헤드리스 모드에서 슬리머를 사용하고 싶기 때문에 슬리머 1.0을 사용하고 있습니다.
다음은 주말에 작성한 간단한 코드입니다.
call to slimer (windows)
./slimerjs/src/slimerjs.bat --headless slimer-redirects.js http://google.com
(내가 영국에있어)으로 검색됩니다 리디렉션을 선택하지 않습니다 아래의 스크립트를 사용하여 google.com에 대한 호출. 아래의 코드는 자바 스크립트 리디렉션을 감지하지만 이상하게 작동합니다. 아래 코드의 또 다른 문제는 작동 할 때 복수> 2 리디렉션을 선택하지 않는 것입니다.
var system = require("system");
var page;
var myurl = system.args[1];
var renderPage = function(url) {
page = require('webpage').create();
page.onNavigationRequested = function(url, type, willNavigate, main) {
if (url != myurl) {
myurl = url;
// page.close(); // makes some redirects hang. google.com for example
setTimeout('renderPage(myurl)', 1);
}
};
page.open(myurl)
.then(function (status) {
if (status === "success") {
// I would then render screenshot here and exit
console.log("Final URL is: " + myurl);
slimer.exit();
}
});
};
renderPage(myurl);
리디렉션 URL을 얻는 것 자체가 간단하지만 난 알아 내지 못합니다. 슬림형으로는 불가능한 경우 다른 옵션에 대해서도 알고 싶습니다. 꼭두각시가 있든 없든 크롬 헤드리스인가?