Cerrar windows recientes de una aplicación

Estoy usando Selenium para controlar varias sesiones de Firefox al mismo time.

En este context, el SO maneja cada window de Firefox como una aplicación diferente.

  • Múltiples instalaciones de Chrome
  • "Minecraft" está dañado y no se puede abrir en Mountain Lion
  • Aplicaciones compradas en iPhone 'time-out'
  • ¿Cómo puedo duplicar mi disco duro?
  • ¿Por qué iBooks se conecta a Internet cada vez que copio / pego?
  • ¿Pueden distribuirse las aplicaciones de iOS en una tienda de aplicaciones cerrada sin necesidad de un jailbreak en cada dispositivo?
  • Quiero crear un flujo de trabajo que me permita cerrar todas las windows recientes de Firefox (dejando funcionando la "más antigua"), pero no pude encontrar ninguna forma de orderarlas por su date de apertura.

    ¡Cualquier ayuda sería apreciada!

  • ¿Qué aplicación de iPad me permitirá presentar .PDF o .PPT que incluyan fonts OTF (y otras)?
  • ¿Cómo iniciar el browser web Firefox desde la terminal en modo privado?
  • ¿Existe alguna herramienta que pueda usar para borrar de forma segura datos de iPhone, iPad o iPod Touch?
  • Firefox - ¿Atajo para activar marcadores en la barra de herramientas de marcadores?
  • ¿La configuration del proxy de OSX puede variar según el browser?
  • ¿Evernote en el iPad tiene funcionalidad de deshacer?
  • 3 Solutions collect form web for “Cerrar windows recientes de una aplicación”

    Intenta acceder al menu de la window de Firefox, la window más antigua en la parte superior de la list

    No tengo experiencia con Selenium , pero me pregunto si podría usar un AppleScript (que Alfnetworking puede usar felizmente) para get los id de la window de cada window de Firefox . Los identificadores de window normalmente se asignan de forma incremental, por lo que una window reciente tendrá un ID de mayor valor numérico que los que le precedieron.

    tell application "Firefox" to get every window 

    debería devolver una list de todas las windows referencedas por sus numbers de identificación, por ejemplo

      {window id 59 of application "Firefox", window id 2408 of application "Firefox", window id 61 of application "Firefox", window id 60 of application "Firefox"} 

    Por supuesto, me pregunto cómo la ejecución de múltiples instancias separadas de Firefox afectará esto, ya que no puedo pnetworkingecir si AppleScript enviará el command get windows a todas las instancias de Firefox o solo a una (y, de ser así, ¿cuál?).

    Si esa línea funciona como yo quiero, entonces puedes elegir la que tenga la identificación más pequeña y cerrar las demás. Aquí hay una manera de hacerlo:

      tell application "Firefox" to get the id of every window set W to result set AppleScript's text item delimiters to space do shell script ({"echo", W, "| tr ' ' '\\n'", "| sort -n"} as string) --> Outputs lines sorted from smallest to greatest value set W to first paragraph of result tell application "Firefox" to close (windows whose id > W) 

    Con algo de ayuda de esta respuesta , pude imprimir los ID y los nombres de todos los processs que se ejecutan actualmente.

    Luego realicé algunas testings y estas son mis ideas:

    1. Los processs están orderados por el más reciente.
    2. Los processs de Firefox que abre Selenium se llaman "firefox-bin", a diferencia de los processs / es usuales de "firefox".
    3. Por lo tanto, el order de los ID coincide con el order de los nombres, por lo que permite cruzar entre las lists e identificar las windows que Selenium ha abierto.

    El código que utilicé es:

     tell application "System Events" to get the name of every process whose background only is false set _name to result tell application "System Events" to get the id of every process whose background only is false set _id to result set AppleScript's text item delimiters to space do shell script ({"echo", _name & " " & _id, "| tr ' ' '\\n'", "| sort -n"} as string)` 

    No es óptimo, pero solo necesitaba get los ID correctos, así que esta testing fue suficiente para seguir adelante.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).