You cannot save a screenshot without rendering the scene with show(), but you can avoiding visualizing the rendering window using keyword offscreen: e.g.
from vtkplotter import *
vp = Plotter(axes=0, offscreen=True)
for i in [1,2,3]:
text = Text('%03d' %i, c='white')
vp += Sphere(c=i).x(i)
vp += text
vp.show()
screenshot('test_%03d.png' %i)
vp -= text
Most helpful comment
You cannot save a screenshot without rendering the scene with
show(), but you can avoiding visualizing the rendering window using keywordoffscreen: e.g.