PhantomJS : capture d'écrans sont noires

WRInaute impliqué
Bonjour,

j'ai un problème avec PhantomJS. En effet, j'utilise la commande proxy pour faire des captures d'écran sur des sites avec ceci : --proxy=leproxyici

Mon problème : La plupart du temps les capture d'écrans sont toute noires, ou avec une ligne au haut. Tout dépends du proxy utilisé. Avec certains cela fonctionne parfaitement et avec d'autres non.

Capture toute noire :

481965image613.jpg


Capture avec une ligne en haut :

367486img.jpg


Voici ma ligne de commande :

Code:
/var/www/phantomjs/bin/phantomjs --proxy=125.141.200.46:80 --debug=true /var/www/screen.js http://www.urldusite.com /var/www/screens/image.jpg

Voici mon fichier screen.js :

Code:
"use strict";
var page = require('webpage').create(),
system = require('system'),
address, output, ref, user_agent;

address = system.args[1];
output = system.args[2];
ref = system.args[3];
user_agent = system.args[4];

page.settings.userAgent = user_agent;
page.zoomFactor = 0.25;

var settings = {
headers: {
		"Referer": ref
	}
};	

page.open(address, settings, function () {
	
	page.render(output, {format: 'jpeg', quality: '100'});
	phantom.exit();

});

Dans les logs j'ai cette erreur :

Code:
2017-03-20T14:26:44 [DEBUG] Network - Resource request error: QNetworkReply::Net workError(ContentNotFoundError) ( "Error downloading http://urldusiteici.fr/ - server replied: Not Found" ) URL: "http://urldusiteici.fr/"

J'ai essayé plusieurs site par proxy et le résultat est le même, j'ai également essayé de changer de format et d'extension d'image (PNG par exemple) mais c'est la même chose. Le problème c'est que quelques chose empêche le chargement de la page du site ce qui engendre une capture toute noire. Mais qu'est ce qui empêche le chargement de la page ? Le proxy ou un code ?

Merci pour vos réponses
 
WRInaute accro
Dans ton code: 1) aucun check si la page a bien été ouverte, 2) aucun délai avant le screenshot
Cfr: rasterize.js
C'est p-e pas ça, mais une piste.
 
WRInaute impliqué
Merci pour Spout pour ta réponse, mais j'ai déja essayé le fichier rasterize.js à la place de screen.js et j'ai exactement le meme problème. C'est pas un problème de delais pour le screenshot, ni de fichier, c'est l'url qui ne se charge pas du tout avec certains proxy.
 
WRInaute impliqué
La question est de savoir pourquoi ? Et pourquoi j'ai une ligne blanche sur certaines captures ?
 
WRInaute impliqué
Certains proxy me donnent cette erreur :

Code:
2017-03-21T20:27:01 [DEBUG] Network - Resource request error: QNetworkReply::Net                                                                                                                               workError(ProxyAuthenticationRequiredError) ( "Proxy requires authentication" )                                                                                                                                URL: "http://www.ffreload.com/"
2017-03-21T20:27:01 [DEBUG] Network - Resource request error: QNetworkReply::Net                                                                                                                               workError(ProxyAuthenticationRequiredError) ( "Proxy requires authentication" )                                                                                                                                URL: "http://www.squid-cache.org/Artwork/SN.png"

avec cette capture :
683228371611797914901242671.jpg
 
WRInaute impliqué
Avec d'autres :

641133imag22.jpg


Log :

Code:
root@vps-21226:~# /var/www/phantomjs/bin/phantomjs --proxy=54.187.52.159:443 --proxy-type=http --proxy-auth=username:password --debug=true /var/www/screen.js http://www.ffreload.com /var/www/screens/imag22.jpg
2017-03-21T20:51:18 [DEBUG] CookieJar - Created but will not store cookies (use option '--cookies-file=<filename>' to enable persistent cookie storage)
2017-03-21T20:51:18 [DEBUG] Set  "http"  proxy to:  "54.187.52.159" : 443
2017-03-21T20:51:18 [DEBUG] Phantom - execute: Configuration
2017-03-21T20:51:18 [DEBUG]      0 objectName : ""
2017-03-21T20:51:18 [DEBUG]      1 cookiesFile : ""
2017-03-21T20:51:18 [DEBUG]      2 diskCacheEnabled : "false"
2017-03-21T20:51:18 [DEBUG]      3 maxDiskCacheSize : "-1"
2017-03-21T20:51:18 [DEBUG]      4 diskCachePath : ""
2017-03-21T20:51:18 [DEBUG]      5 ignoreSslErrors : "false"
2017-03-21T20:51:18 [DEBUG]      6 localUrlAccessEnabled : "true"
2017-03-21T20:51:18 [DEBUG]      7 localToRemoteUrlAccessEnabled : "false"
2017-03-21T20:51:18 [DEBUG]      8 outputEncoding : "UTF-8"
2017-03-21T20:51:18 [DEBUG]      9 proxyType : "http"
2017-03-21T20:51:18 [DEBUG]      10 proxy : "54.187.52.159:443"
2017-03-21T20:51:18 [DEBUG]      11 proxyAuth : "username:password"
2017-03-21T20:51:18 [DEBUG]      12 scriptEncoding : "UTF-8"
2017-03-21T20:51:18 [DEBUG]      13 webSecurityEnabled : "true"
2017-03-21T20:51:18 [DEBUG]      14 offlineStoragePath : ""
2017-03-21T20:51:18 [DEBUG]      15 localStoragePath : ""
2017-03-21T20:51:18 [DEBUG]      16 localStorageDefaultQuota : "-1"
2017-03-21T20:51:18 [DEBUG]      17 offlineStorageDefaultQuota : "-1"
2017-03-21T20:51:18 [DEBUG]      18 printDebugMessages : "true"
2017-03-21T20:51:18 [DEBUG]      19 javascriptCanOpenWindows : "true"
2017-03-21T20:51:18 [DEBUG]      20 javascriptCanCloseWindows : "true"
2017-03-21T20:51:18 [DEBUG]      21 sslProtocol : "default"
2017-03-21T20:51:18 [DEBUG]      22 sslCiphers : "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-RC4-SHA:ECDHE-RSA-RC4-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:RC4-SHA:RC4-MD5"
2017-03-21T20:51:18 [DEBUG]      23 sslCertificatesPath : ""
2017-03-21T20:51:18 [DEBUG]      24 sslClientCertificateFile : ""
2017-03-21T20:51:18 [DEBUG]      25 sslClientKeyFile : ""
2017-03-21T20:51:18 [DEBUG]      26 sslClientKeyPassphrase : ""
2017-03-21T20:51:18 [DEBUG]      27 webdriver : ":"
2017-03-21T20:51:18 [DEBUG]      28 webdriverLogFile : ""
2017-03-21T20:51:18 [DEBUG]      29 webdriverLogLevel : "INFO"
2017-03-21T20:51:18 [DEBUG]      30 webdriverSeleniumGridHub : ""
2017-03-21T20:51:18 [DEBUG] Phantom - execute: Script & Arguments
2017-03-21T20:51:18 [DEBUG]      script: "/var/www/screen.js"
2017-03-21T20:51:18 [DEBUG]      0 arg: "http://www.ffreload.com"
2017-03-21T20:51:18 [DEBUG]      1 arg: "/var/www/screens/imag22.jpg"
2017-03-21T20:51:18 [DEBUG] Phantom - execute: Starting normal mode
2017-03-21T20:51:18 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:18 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:18 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:18 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:18 [DEBUG] WebPage - updateLoadingProgress: 10
2017-03-21T20:51:18 [DEBUG] CookieJar - Saved "WR_PROXY_AUTH=807FABEA59B2B7DDD8D886156F1AB184; domain=.ffreload.com; path=/"
2017-03-21T20:51:19 [DEBUG] CookieJar - Saved "WR_PROXY_AUTH=807FABEA59B2B7DDD8D886156F1AB184; domain=.ffreload.com; path=/"
2017-03-21T20:51:19 [DEBUG] CookieJar - Saved "WR_PROXY_AUTH=807FABEA59B2B7DDD8D886156F1AB184; expires=Sun, 21-Mar-2117 19:51:16 GMT; domain=.webroot.com; path=/"
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 50
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 50
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 62
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 66
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 100
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 10
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 100
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 10
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 100
2017-03-21T20:51:19 [DEBUG] CookieJar - Purged (session) "WR_PROXY_AUTH=807FABEA59B2B7DDD8D886156F1AB184; domain=.ffreload.com; path=/"
2017-03-21T20:51:19 [DEBUG] CookieJar - Saved "WR_PROXY_AUTH=807FABEA59B2B7DDD8D886156F1AB184; expires=Sun, 21-Mar-2117 19:51:16 GMT; domain=.webroot.com; path=/"
 
Discussions similaires
Haut