Estoy tratando de descargar un archivo PDF de blob con Selenium. La página de origen no contiene un enlace a este PDF, el enlace se crea "sobre la marcha", así que realizo algunas manipulaciones en el sitio, obtengo el enlace "blob:https://.." y ejecuto el JS a continuación para obtener este archivo:
function blobToString(b) { var u, x; u = URL.createObjectURL(b); x = new XMLHttpRequest(); x.open('GET', u, false); x.send(); URL.revokeObjectURL(u); return x.responseText; } var xhr = new XMLHttpRequest(); xhr.open('GET', 'blob:https://...........', true); xhr.responseType = 'blob'; xhr.onload = function(e) { if (this.status == 200) { var myBlob = this.response; document.querySelector("body").setAttribute("test",blobToString(myBlob)); } }; xhr.send();Entonces, por ahora puedo llevar este PDF de blob a Selenium guardando su contenido en el atributo de algún elemento y llevándolo a Selenium después de eso.
El problema es que el PDF no se abre como un archivo normal, parte de su contenido está codificado con símbolos extraños:
Descargado con Selenium: �0 ��W�Ǻ�M�D�J��B�B� Q��P �oﵜ��w�,��� Y�4���E\4~�310� 4�bk� �� ɔ�4}p� �\uq�zwcN��i��i��c�V�� � �
Descargado manualmente: Â0^T<85>áWùǺ¤MÒDçJÅÅBáBç^NQ<94>¦P^U±oïµ<9c>åÀwà,ô<94>ò¥¹^\Y¨4¡òÆE\4~Ï310«4<82 >ÝØbk¥^CÁÔ^QÉ<94>ç4}pÖ^D<8f>\uq£<90>ôzwcNüËiÌ÷iÝÉc³Vô±§Õ¿^_^\³^^×
Así que necesito realizar algún tipo de codificación/descodificación para que funcione. Por favor, ayuda con esto.