Tengo un marcador que ejecuta algún código JavaScript en el sitio web que el usuario tiene abierto en el momento de ejecutar el marcador - Soy consciente de que hay una manera de utilizar AppleScript para ejecutar JavaScript en una página de Safari, pero esto requiere 'Permitir JavaScript de eventos de Apple' que estoy tratando de evitar.
Me gustaría que el script pidiera al usuario que introdujera una url, entonces abrirá una nueva ventana con esta página y luego hará clic en el marcador que a su vez ejecutará algún JavaScript en la página abierta.
Hasta ahora, mirando los posts existentes aquí en StackExchange, he podido conseguir que abra los marcadores en diferentes pestañas, pero estoy luchando para modificarlo para que abra un marcador con nombre específico en la página que el script ha abierto.
Apreciaría cualquier ayuda que alguien pueda dar.
EDIT 1: El código que estoy modificando de: En Safari, ¿se puede abrir un conjunto de marcadores en una carpeta mediante programación (por ejemplo, utilizando AppleScript)?
EDIT 2: Aquí está mi última revisión del código:
@user3439894 He cambiado mi código a
tell application "Safari" to activate
delay 1
tell application "System Events" to ¬
click menu item "Google" of ¬
application process "Safari"
Al haber un marcador titulado "Google", no estaba seguro de si mantener la línea "proceso de aplicación "Safari"" o no, pero tanto si se mantiene como si se elimina, obtengo "No se puede obtener el elemento de menú "Google" del proceso de aplicación "Safari"".
0 votos
Por favor, añada el código que ya tiene.
0 votos
@nohillside acaba de añadir el enlace al código que estoy modificando e incrustado dentro de mi post
0 votos
Puede cambiar
Open in New Tabs
enclick menu item "Open in New Tabs" of ¬
a la nombre del objetivo marcador o utilice el botón valor del índice por ejemplo1
o lo que sea número está en el lista de labookmarksFolder
menú para que haga clic en que marcador .0 votos
En cuanto a otras cuestiones de codificación, hay un montón de respuestas ya por ahí que hacen lo que usted está pidiendo. Lo sé porque las he escrito muchas veces. Puede utilizar la función mostrar diálogo comando para solicitar el URL
0 votos
@user3439894 He actualizado mi post original con los cambios que sugieres pero creo que no lo he implementado correctamente ya que devuelve un error
0 votos
¡No hiciste lo que te sugerí! El enlace que ha eliminado y el otro código funciona como se anuncia
0 votos
Para serle franco, su pregunta no es del todo clara en el sentido de que no ha descrito con precisión en qué parte del Marcadores menú el marcador titulada "Google". En otras palabras, ¿está en el menú o en un carpeta del principal menú ? También me gustaría ver el JavaScript código que está en el objetivo marcador . En realidad, todo el código fuente del objetivo marcador .
0 votos
Estoy seguro de que si hubiera hecho lo que sugeriste al principio funcionaría, pero está claro que no he entendido tu explicación. El marcador no está dentro de una carpeta, está dentro del área del marcador padre, por si te sirve de ayuda.
0 votos
RE: "El marcador no está dentro de una carpeta, está dentro del área del marcador principal, si eso sirve de ayuda". -- Si está en la carpeta principal Marcadores menú y, a continuación, utilice, por ejemplo
tell application "System Events" to click menu item "Google" of menu 1 of menu bar item "Bookmarks" of menu bar 1 of application process "Safari"
0 votos
JSYK Mi comentario original se basó en su modificación original de mi código de la respuesta enlazada en la que mostraba
set bookmarksFolder to "test_folder"
y si hubiera habido carpeta de ese nombre con el objetivo marcador ¡entonces lo que dije originalmente habría funcionado!