Here’s how to list snapshots using scripting:

var s = scene.snapshots;
for(i = 0; i < s.all.length; i++)
    print(s.all[i]);

Use this code to take a new snapshot (“ui” is a global variable that you need to pass as a parameter in order to take a snapshot):

scene.snapshots.take("new snapshot", ui);

Finally, to activate a snapshot by index or by name use this code:

scene.snapshots.activate(0);
scene.snapshots.activateByName("new snapshot");

It is a good idea to use scripting in jobs to render several snapshots from a single project.