2009-11-22 7 views
4

J'ai une image sur une page rendue par Firefox via Webdriver, je peux obtenir son objet (wd.find_element_by_xpath("id('main')/form/p[5]/img")), mais comment puis-je obtenir son corps codé en base64 ou juste un emplacement sur mon disque dur? PS: s'il vous plaît ne suggère pas d'obtenir le src et de le récupérer avec un outil externe. Je veux l'image que j'ai déjà dans le navigateur.Comment obtenir des informations sur l'image de firefox webdriver?

Répondre

4

images mises en cache peuvent être extraites à partir du cache de Firefox en naviguant vers une URL comme celui-ci:

about:cache-entry?client=HTTP&sb=1&key=http://your.server/image.png 

La page qui contiendra une ligne avec l'étiquette « fichier sur le disque », comme celui-ci:

file on disk: /home/fviktor/.mozilla/firefox/7jx6k3hx.default/Cache/CF7379D8d01 

Cette page contiendra également le vidage hexadécimal du contenu du fichier. Vous pouvez charger le fichier à partir de ce chemin ou analyser le vidage hexadécimal. S'il vous plaît noter que le chemin peut également être none dans le cas de petits fichiers mis en cache uniquement en mémoire. Votre seule option est l'analyse de la vidage hexadécimal dans ce cas.

Peut-être qu'il y a un moyen de supprimer le vidage hexadécimal s'il y a un fichier de cache sur le disque, mais je ne suis pas sûr à ce sujet.

0

J'ai créé un petit script pour extraire des données du cache du navigateur. Vous pouvez extraire les entrées de cache en l'utilisant. Vérifiez-le à cette gist. Vérifiez this post pour le guide d'utilisation.

Questions connexes