Nido Apple

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Buenas tardes.

He escrito el siguiente script para automator y guardado como Acción Rápida y asignado una combinación de teclas para su ejecución.
La finalidad es usar el buscador local de una URL (en este caso, Google Chrome) para localizar un texto previamente seleccionado.

El flujo de trabajo recibe el actual texto en cualquier aplicación.
Funciona perfectamente si el texto seleccionado es una palabra única; sin embargo, no funciona si la selección es de más de una palabra (previamente funcionaba y no sé por qué ahora no funciona).
Aunque ya comprobé que la parte del código que copia la selección al portapapeles realiza su función perfectamente, he intentado sustituir esa parte del código por una acción anterior predefinida “Copiar en el portapapeles” sin conseguir un buen funcionamiento.

on run {input, parameters}
    tell application "System Events" to keystroke "c" using command down
    delay 0.2
    set miEnlace to "https://www.google.com/search?q=" & (the clipboard)
    --set miEnlace to "https://es.wikipedia.org/wiki/" & (the clipboard)
    --haría la misma función en Wikipedia
    tell application "Google Chrome"
        activate
        open location miEnlace
    end tell
    return input
end run

¿Cuál puede ser la solución?

Agradecimientos de antemano.

2 Respuestas

1voto

DJUNQUERA Puntos2290

:-)

He conseguido solucionar el problema añadiendo una nueva pestaña en Google Chrome.

on run {input, parameters}
tell application "System Events" to keystroke "c" using command down
delay 0.2
set miEnlace to "https://www.google.com/search?q=" & (the clipboard) -- ➡︎ para Google Chrome
--"https://es.wikipedia.org/wiki/Special:Search?search=" ➡︎ para Wikipedia
--"http://www.youtube.com/results?search_query=" ➡︎ para YouTube
-- Etc. (la cadena constante de cada URL cuando se realiza en ella una búsqueda)

tell application "Google Chrome"
    activate
    tell front window to make new tab at after (get active tab) with properties {URL:miEnlace}
    --Añade una pestaña (con la URL preformada) a continuación de la pestaña activa de la ventana de Google situada en primer plano. 
end tell
return input

end run

En cualquier caso, me gustaría conocer la explicación a la LIMITACIÓN DE LA BÚSQUEDA A UNA SOLA PALABRA en la primera versión del script .

¡Salud!

0voto

Peter Puntos289100

Puedes pasar el clipboard completo y hasta ponerlo en comillas para que se haga así la búsqueda exacta en Google. No se limita a 1 palabra.

on run {input, parameters} open location "https://www.google.com/search?q=" & quote & input & quote end run

Sin comillas solo quitas las dos & quote y listo.

Saludos.

0voto

DJUNQUERA comentado

Hola, Peter.

Parece que no rellené bien el formulario de comentario que hace unos días te envié a propósito del tuyo a esta pregunta.

En él te decía que en tu respuesta no aparece código alguno que haga referencia a la parte que debe copiar el texto seleccionado (lo que queremos buscar) al portapapeles y que más tarde se añadirá a la ruta del buscador de la URL para completar la sentencia.

Gracias por tu disposición.

Diego.

0voto

Peter comentado

En el mismo Automator solo selecciona utilizar el clipboard, no necesitas código ahí.

1voto

DJUNQUERA comentado

Gracias.

Lo intentaré.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...