avec sélénium ou javascript strong> Comment pouvez-vous obtenir le (sur le réseau) Taille transférée forte> (octets) de la page chargée, y compris tout le contenu, les images, le CSS, JS , etc? p>
La taille préférée est celle de ce qui se passe sur le réseau, qui est compressé, uniquement pour les demandes qui sont faites, etc. P>
C'est ce que vous pouvez voir habituellement dans Dev Outils, à droite dans la barre d'état du réseau:
p>
Si cela n'est pas possible, vous pourriez-on simplement obtenir une taille totale de toutes les ressources chargées (sans compression, etc.)? Ce serait une alternative acceptable. P>
Le navigateur est p>
Je suppose que cela pourrait être fait en utilisant un proxy Si le proxy est le seul moyen, lequel utiliserait-on une utilisation (ou implémenter) pour garder les choses simples pour une telle tâche? Il suffit de mettre en œuvre quelque chose dans Java avant de mettre en place le pilote? P>
(la solution doit fonctionner au moins sur Linux, mais de préférence sous Windows également. J'utilise Selenium WebDiver via Java.) P> P>
4 Réponses :
Oui, vous pouvez le faire à l'aide de BrowserMOBPROXY. Il s'agit d'un jar Java qui utilise le proxy Sélénium pour suivre le trafic réseau du côté client. Comme la durée de la durée de chargement de la page, une chaîne de requête à différents services, etc. Vous pouvez l'obtenir bmp.lightbody.net. Cette API créera des fichiers .HAR qui contiendront toutes ces informations au format JSON que vous pouvez lire en utilisant Un outil en ligne http://www.softwareishard.com/har/viewer/ P >
Pour une référence future, il est possible de demander ces informations du navigateur par JavaScript. Cependant, au moment de la rédaction de NO Browser prend en charge cette fonctionnalité pour ces données spécifiques. Plus d'informations peuvent être trouvées ici .
Entre temps, pour Chrome, vous pouvez analyser ces informations à partir du journal des performances. P> Vous pouvez alors obtenir ces données telles que ceci p> Si, comme dans votre cas, vous souhaitez connaître les spécificités d'une seule charge de page, vous pouvez utiliser un horodatage avant et après la suite et obtenez uniquement des entrées dans ce délai. P> P>
J'ai atteint cela dans Python, ce qui pourrait sauver les gens un peu de temps. Pour configurer la journalisation: pour calculer le total: p>
L'API de performance mentionnée dans la réponse de Hakello est désormais bien soutenue (sur tout, à l'exception de IE & Safari) et est simple à utiliser: Vous pouvez exécuter ce script à l'aide de Exécugescript Code> Pour obtenir le nombre d'octets téléchargés depuis le dernier événement de navigation. Aucune configuration ou configuration n'est requise. P> p>
Pourquoi le vote en bas? Merci pour le chapeau tho. ;-)
Ni Sélénium ni JS n'ont accès aux fils (réseau). Ils ne peuvent voir que le moteur de rendu (DOM). Vous aurez besoin de quelque chose d'autre pour obtenir cette information.