0 votos

¿Cómo obtener la url de la imagen seleccionada en google images?

Escribo el flujo de trabajo de Automator que adjuntará la miniatura de la imagen de Google, capaz de ser seleccionado en el menú contextual o tecla de acceso directo habilitado.

Ahora estoy intentando averiguar qué tipo de objeto ve Automator cuando hago clic con el botón derecho en la imagen en safari. He probado con contenido web, imagen, documentos, todo lo demás, pero nada funciona.

También probé acciones como Obtener documento abierto de safari + cargar imágenes desde el contenido de la web, pero no es mi caso.

¿Es posible añadir la opción de menú contextual a la imagen de Google?

0voto

user994179 Puntos 157

Bien, mi manera es pedirle a Safari que haga un javascript que obtenga todo lo que necesito (me refiero a las urls de las imágenes completas) para la página actual, cuando el usuario presione la tecla de acceso rápido.

El truco es que cuando se selecciona la imagen (hower), se ve un cuadro negro en la parte inferior de la mini-imagen. Ciertamente, significa que el HTML ha sido cambiado, por lo que acabo de averiguar que los cambios (la propiedad display cambia de none a block) y pedir a JS para obtener cualquier bloque con esa propiedad, cuando el usuario presiona la tecla.

Consulte el código más abajo para obtener más detalles.

tell application "Safari"
set result to (do JavaScript " 
               function f() 
               { 
                   var imageHolderElements =  document.getElementsByClassName('_aOd rg_ilm'); 
                   for (var i = 0; i < imageHolderElements.length; i++) 
                   { 
                       var style = getComputedStyle(imageHolderElements[i], null); 
                       var display = style.getPropertyValue('display'); 
                       if (display == 'block') 
                       { 
                           var src = imageHolderElements[i].parentNode.getAttribute('href'); 
                           var parameter = 'imgurl='; 
                           var index = src.indexOf(parameter) + parameter.length; 
                           console.log(index); 
                           var result = src.substring(index, src.length); 
                           console.log(result); 
                           var paramDelim = result.indexOf('&'); 
                           if (paramDelim > 0){ 
                                var result_result = ''; 
                               result_result = result.substring(0, paramDelim); 
                           } 
                           console.log(result_result); 
                           return result_result; 
                       } 
                   }
               } 
                var x = 1; 
               var x = '' + f(); x" in current tab of first window) as string
return result
end tell

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X