¿Cómo obtengo la URL de un enlace con el botón derecho enviado a una acción de automatización?

4

Me gustaría crear un servicio para abrir un enlace en Chrome. Ya tengo este servicio instalado: Extensión de Safari para menú del botón derecho: ¿Abrir en Google Chrome?

Esto funciona si hago clic con el botón derecho en el texto seleccionado que es una URL. Pero no funciona si hago clic con el botón derecho en un enlace cuyo título no es una URL. Por ejemplo, me gustaría hacer clic derecho en el título de un hilo en enlace y tener un comando en Servicios para abrir ese enlace en Chrome. El servicio mencionado anteriormente no se muestra en el menú contextual de Servicios. Safari tiene un elemento de menú "Copiar enlace" en el menú contextual. ¿Hay alguna forma de activar ese comando desde Automator o AppleScript?

    
pregunta SSteve 02.12.2014 - 21:30

2 respuestas

1

Pruebe este código en la acción de Automator "Ejecutar Javascript".

para Chrome

function run(input, parameters) {

    var app = Application("Google Chrome");
    app.includeStandardAdditions = true;

    var url = app.windows[0].activeTab.execute({
        javascript: 'window.getSelection().anchorNode.parentNode.href'
    });

    return url;
}

para Safari

function run(input, parameters) {

    var app = Application("Safari");
    app.includeStandardAdditions = true;

    var url = app.doJavaScript('window.getSelection().anchorNode.parentNode.href',{
        in: app.windows[0].currentTab
    });

    return url;
}

por ejemplo

Hazclicderechoenelenlaceyseleccionaelservicio"Copiar enlace al portapapeles", luego podrás obtener la URL.

    
respondido por el wamei 29.10.2015 - 09:14
-1

Cree sus acciones como un servicio (este es el tipo de documento que elige cuando crea un nuevo flujo de trabajo de automatización).

Los servicios relevantes deberían aparecer en el menú contextual en "Servicios", aunque es posible que tenga que activarlos en la pestaña "Accesos directos" del panel de preferencias del Sistema de teclado (¿por qué? No lo sé).

    
respondido por el sdmeyers 02.12.2014 - 22:10

Lea otras preguntas en las etiquetas