Non ho esperienza con Selenium , ma mi chiedo se potresti usare un AppleScript (che Alfred può usare felicemente) per ottenere la finestra id di ciascuna finestra Firefox . Gli id della finestra vengono normalmente assegnati in modo incrementale, pertanto una finestra recente avrà un id di valore numerico maggiore rispetto a quelli precedenti.
tell application "Firefox" to get every window
dovrebbe restituire un elenco di tutte le finestre a cui fanno riferimento i loro numeri di identificazione, ad es.
{window id 59 of application "Firefox", window id 2408 of application "Firefox", window id 61 of application "Firefox", window id 60 of application "Firefox"}
Naturalmente, mi chiedo come l'esecuzione di istanze multiple e separate di Firefox influirà su questo, poiché non posso prevedere se AppleScript invierà il comando get windows
a tutti Firefox istanze o solo una (e, in tal caso, quale?).
Se quella linea funziona come voglio io, puoi scegliere quella con il id più piccolo e chiudere gli altri. Ecco un modo per farlo:
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)