You might want to take a look at
EnumerateFrames() if you really want to go that direction.
EnumerateFrames() gets the first frame from a list, notice no frame has been passed. If
EnumerateFrames(frame) is called, it returns the frame following the one passed in the list. If there are no more frames, it returns
nil.
The following code would iterate through every frame in existence.
Code:
local frame=EnumerateFrames();
while frame do
-- Do something that checks if this is the frame you want and store the pointer to it
frame=EnumerateFrames(frame);
end