Tôi đã thiết lập tập lệnh để tạo webshots của ứng dụng. Nó chạy một cách hoàn hảo và tất cả là tốt Cho đến khi tôi gặp một hình ảnh với một url bị hỏng:phantomJS thời gian chờ trang web
"<img src='http://testserver.our.intranet/fetch/image/373e8fd2339696e2feeb680b765d626e' />"
tôi đã quản lý để phá vỡ các kịch bản sau 6 giây bằng cách sử dụng dưới đây, Trước khi nó đã được chỉ lặp mãi mãi.
Nhưng, là nó có thể bỏ qua yêu cầu mạng (AKA
lấy ảnh ra khỏi DOM
) và sau đó tiến hành để tạo ra các ngón tay cái mà không có hình ảnh, (hoặc với một thiếu hình ảnh hình ảnh tiêm!)
var page = require('webpage').create(),
system = require('system'),
address, output, size;
if (system.args.length < 3 || system.args.length > 5) {
phantom.exit(1);
} else {
address = system.args[1];
output = system.args[2];
page.viewportSize = { width: 640, height: 640 };
page.zoomFactor = 0.75;
page.clipRect = { top: 10, left: 0, width: 640, height: 490 };
try{
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
phantom.exit();
} else {
window.setTimeout(function() {
page.render(output);
phantom.exit();
}, 200);
}
});
} finally{
setTimeout(function() {
console.log("Max execution time " + Math.round(6000) + " seconds exceeded");
phantom.exit(1);
}, 6000);
}
}
Đây là một câu hỏi hay. Chúng tôi có một vấn đề tương tự, ngoại trừ đó là một chút khó khăn hơn để giải quyết. Chúng tôi có trang web của khách hàng có javascript tùy chỉnh được viết kém. Dường như nó đang khiến webkit bị treo. Chúng tôi có một loạt các trang web mà chúng tôi muốn thử nghiệm, nhưng nó không hoạt động nếu js tùy chỉnh của khách hàng đang phá vỡ webkit. Các obj hẹn giờ là một giải pháp tốt nhưng tôi tự hỏi nếu có ai có một giải pháp khác. ...? – cliffbarnes