This is a good idea, but some of the sprites I don't want to capture are part of the normal game physicics, and I believe that things in different viewports don't interact with one another (unless I'm mistaken, which is absolutely possible).
The more I've read about since posting this question, the more I think that viewports are the key, though. I've tried creating a viewport which is not in a container, setting its world to the main world with
get_node('Screenshot_Port').world_2d = get_viewport().world_2d
and then, after a .5 second timer to make sure I'm picking up a populated frame, I screenshot that viewport, but ithe screencap just gives me a blank image (I export the image as a png, to see what the screenshot captured). There's a camera in the viewport that is set to current, and the view I'm trying to capture will always be at (0, 0), so I'm not sure why it's not picking anything up.
(The viewport has the standard settings, except that the size is 1280×720, ownworld = true, usage is 2d, vflip = true, and update mode is always)
Thank you for your help! I know this is a little complicalted.