2 votos

No es capaz de borrar el Historial de Safari mediante AppleScript en OS X El Capitan

He estado usando el siguiente script para borrar el Safari de la historia de selenio prueba en OS X Yosemite . He actualizado a OS X El Capitan y ahora, el script no funcionará.

Error : no se Puede obtener "Borrar Historial" botón

tell application "Safari" to activate
tell application "System Events"
    tell process "Safari"
        tell menu bar 1
            tell menu bar item "History"
                tell menu 1
                    click menu item "Clear History…"
                end tell
            end tell
        end tell
        delay 1 -- optional
        click button "Clear History"
    end tell
end tell

2voto

user3439894 Puntos 5883

En OS X, El Capitán, cuando hace clic en Borrar de la Historia... en el menú Historial, se hace Clara la Historia para aparecer como un Cuadro de Diálogo modal o como un concentrado de Hoja en una ventana, como se ilustra en las imágenes en la parte inferior de esta respuesta, y la AppleScript código debajo de las manijas en cualquiera de los casos.

El código está escrito con la suposición de que aparece como un Cuadro de Diálogo y, si no se puede procesar como un Cuadro de Diálogo, luego de la on error de controlador de procesos como una Hoja.

Este código, directamente debajo de, esencialmente se replica lo que su código hicieron en OS X Yosemite, aunque ajustado para su uso en OS X El Capitan, sin el delay de comandos que puede añadir si lo desea.


tell application "Safari" to activate
tell application "System Events"    
    click menu item "Clear History…" of menu 1 of menu bar item "History" of menu bar 1 of process "Safari"    
    try        
        click button "Clear History" of front window of process "Safari"        
    on error
        try
            click button "Clear History" of sheet 1 of window 1 of process "Safari"            
        end try
    end try
end tell

Para interactuar con la lista en la ventana emergente del botón, por cuánto de la Historia de clara, el siguiente código de ejemplo la dirección de la misma.

Porque puede aparecer de dos maneras diferentes, por desgracia, requiere de dos conjuntos separados de similares código y las dos secciones de código que rodea el "Claro ..." de la lista debe ser actualizado manualmente y en la sincronización de si/cuando el uso de ese código de segmento.

Nota: Hay 10 líneas de código comentado, precedidos por --, perteneciente a el "Claro ..." de la lista, 5 líneas en cada agrupación de código. Usted puede cambiar el valor de una de las 4 opciones quitando el click pop up button 1 of window 1 of process "Safari" y click pop up button 1 of sheet 1 of window 1 of process "Safari" líneas de código, el uno en cada sección y, a continuación, sólo 1 de los 4 a la vez, el uno similar en cada sección. Esto significa que solamente el 4 total de líneas van a ser eliminados, 2 en cada sección, de 1 a haga clic en el botón emergente y el otro por cuánto de la Historia que quieres borra. Los comentarios que he añadido, precedidos por -- #, dentro del código debe ser auto-explicativo.

tell application "Safari"
    activate
end tell

tell application "System Events"

    click menu item "Clear History…" of menu 1 of menu bar item "History" of menu bar 1 of process "Safari"

    try
        -- # 
        -- # NOTE: Keep this block of commented out code in sync with the similar block below!
        -- # 
        -- # If you want to change the value of the "Clear ..." list, then uncomment the line of code directly below this comment.
        -- # 
        -- click pop up button 1 of window 1 of process "Safari"
        -- #     
        -- # If you've uncommented the line of code directly above this comment, then uncomment only 1 of the 4 lines of code below.
        -- # 
        -- click menu item "the last hour" of menu 1 of pop up button 1 of window 1 of process "Safari"
        -- click menu item "today" of menu 1 of pop up button 1 of window 1 of process "Safari"
        -- click menu item "today and yesterday" of menu 1 of pop up button 1 of window 1 of process "Safari"
        -- click menu item "all history" of menu 1 of pop up button 1 of window 1 of process "Safari"
        -- # 

        click button "Clear History" of front window of process "Safari"

    on error
        try
            -- # 
            -- # NOTE: Keep this block of commented out code in sync with the similar block above!
            -- #     
            -- # If you want to change the value of the "Clear ..." list, then uncomment the line of code directly below this comment.
            -- # 
            -- click pop up button 1 of sheet 1 of window 1 of process "Safari"
            -- #     
            -- # If you've uncommented the line of code directly above this comment, then uncomment only 1 of the 4 lines of code below.
            -- # 
            -- click menu item "the last hour" of menu 1 of pop up button 1 of sheet 1 of window 1 of process "Safari"
            -- click menu item "today" of menu 1 of pop up button 1 of sheet 1 of window 1 of process "Safari"
            -- click menu item "today and yesterday" of menu 1 of pop up button 1 of sheet 1 of window 1 of process "Safari"
            -- click menu item "all history" of menu 1 of pop up button 1 of sheet 1 of window 1 of process "Safari"
            -- # 

            click button "Clear History" of sheet 1 of window 1 of process "Safari"

        end try
    end try
end tell

Esto según su código se ejecuta muy rápido, sin embargo, puede insertar algunos de delay comandos, cuando proceda, si quieres ver mejor lo que sucede cuando la Historia está siendo limpiado.


En las imágenes de abajo, uno con la flecha roja que apunta a lo que el 10 líneas de código comentado, precedidos por --, perteneciente a el "Claro ..." de la lista. Para cambiar por ejemplo, "la última hora" a uno de los otros valores, es aquí donde se elimine el comentario correspondiente comentó líneas de código.

Como una Hoja de papel: enter image description here

Como un Cuadro de Diálogo:

enter image description here

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