pues es practicamente el mismo concepto. lo unico que self.open te devuelve una instancia de un objeto window. para los iframes/frames, el array
frames contiene las instancias de todos los frames del documento. el indice del array corresponde segun el orden que aparecen en el documento. por ejemplo, frames[0] hace referencia al primer frame del documento. lo demas es igual, frames[0].document...
otra forma es asignando un nombre al frame mediante el atributo
name. luego obtienes la instancia mediante su nombre: frames['nombre'].