def in_iframe(identifier, frame=nil, &block)
      frame = frame.nil? ? [] : frame.dup
      frame << {iframe: identifier}
      block.call(frame)
    end
def in_iframe(identifier, frame=nil, &block)
      frame = frame.nil? ? [] : frame.dup
      frame << {iframe: identifier}
      block.call(frame)
    end
Identify an element as existing within an iframe.  A frame parameter
 is passed to the block and must be passed to the other calls to PageObject.
 You can nest calls to in_frame by passing the frame to the next level.

 @example
   in_iframe(:id => 'frame_id') do |frame|
     text_field(:first_name, :id => 'fname', :frame => frame)
   end

 @param [Hash] identifier how we find the frame.  The valid keys are:
   * :id
   * :index
   * :name
   * :regexp
 @param frame passed from a previous call to in_iframe.  Used to nest calls
 @param block that contains the calls to elements that exist inside the iframe.