Come ottenere l'URL dell'immagine selezionata nelle immagini di google?

0

Scrivo il flusso di lavoro di Automator che allegherà immagine miniatura di Google, in grado di essere selezionato nel menu di scelta rapida o nella combinazione di tasti di scelta rapida attivata.

Ora sto cercando di capire quale tipo di oggetto vede Automator quando faccio clic con il pulsante destro del mouse sull'immagine in Safari. Ho provato contenuti web, immagini, documenti, tutto il resto, ma niente funziona.

Ho anche provato azioni come Get open safari document + caricare immagini da contenuti web, ma non è il mio caso.

È possibile a tutti aggiungere l'opzione del menu contestuale all'immagine google?

    
posta DevOvercome 02.12.2014 - 04:38
fonte

1 risposta

0

Ok, il mio modo è di chiedere a Safari do javascript che otterrà tutto ciò di cui ho bisogno (intendo URL di immagini complete) per la pagina corrente, quando l'utente preme il tasto di scelta rapida.

Il trucco sta nel fatto che quando si seleziona l'immagine (principale), viene visualizzata una casella nera nella parte inferiore della mini-immagine. Certanamente, significa che l'HTML è stato modificato, quindi ho appena capito che le modifiche (la proprietà di visualizzazione cambia da none al blocco) e chiedere a JS di ottenere qualsiasi blocco con quella proprietà, quando l'utente preme il tasto.

Vedi il codice sotto per i dettagli.

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
    
risposta data 12.12.2014 - 13:19
fonte

Leggi altre domande sui tag