Frames
A single iframe, two levels of nested iframes, and a cross-origin iframe to switch context into.
Single frame
Nested frames
Cross-origin frame
A sandboxed frame with its own (opaque) origin — page JavaScript can't read inside it, but your automation tool can still switch in.