Solo obtuve una solución parcial , que funciona aparte de algunos pequeños problemas.
En primer lugar, no puede almacenar la URL en el nombre del archivo (debido a barras y caracteres especiales), por lo que deberá especificar el nombre del sitio web.
Pero lo que es más importante, hasta ahora la importación de CSV no está implementada. ¿Es CSV realmente un requisito difícil, o podría obtener la lista de URL en un formato diferente? Si no, actualice su pregunta con líneas ejemplares de su archivo CSV. Trabajaré en ello y actualizaré mi respuesta lo antes posible.
on open_url(theUrl, theUrlName, x0, y0, xSize, ySize)
tell application "Safari"
open location theUrl
activate
set bounds of window 1 to {x0, y0, xSize, ySize}
set windowID to id of window 1
set the_state to missing value
repeat until the_state is "complete"
set the_state to (do JavaScript "document.readyState" in document 1)
delay 0.3
end repeat
set theFolder to POSIX path of (path to desktop as string)
set shellCommand to "/usr/sbin/screencapture -l " & windowID & " " & quoted form of (theFolder & "Screen Shot " & theUrlName & " " & xSize & "x" & ySize & ".png")
do shell script shellCommand
end tell
end open_url
set resolutionList to {{640, 480}, {1024, 768}}
set siteList to {{"http://www.apple.com", "Apple"}, {"http://www.google.com", "Google"}}
repeat with resolution in resolutionList
set xSize to item 1 of resolution
set ySize to item 2 of resolution
repeat with theSite in siteList
set theUrl to item 1 of theSite
set theUrlName to item 2 of theSite
open_url(theUrl, theUrlName, 0, 0, xSize, ySize)
end repeat
end repeat