@volatile_attribute<EOL><INDENT>def get_position(self, focus=None):<DEDENT>
focus = focus or self._focus or '<STR_LIT>'<EOL>if focus == '<STR_LIT>':<EOL><INDENT>pos = self.attr('<STR_LIT>')<EOL><DEDENT>elif focus == '<STR_LIT>':<EOL><INDENT>x, y = self.attr('<STR_LIT>')<EOL>w, h = self.get_size()<EOL>ap_x, ap_y = self.attr("<STR_LIT>")<EOL>fx, fy = <NUM_LIT:0.5>, <NUM_LIT:0.5><EOL>pos = [x + w * (fx - ap_x), y + h * (fy - ap_y)]<EOL><DEDENT>elif type(focus) in (list, tuple):<EOL><INDENT>x, y = self.attr('<STR_LIT>')<EOL>w, h = self.get_size()<EOL>ap_x, ap_y = self.attr("<STR_LIT>")<EOL>fx, fy = focus<EOL>pos = [x + w * (fx - ap_x), y + h * (fy - ap_y)]<EOL><DEDENT>else:<EOL><INDENT>raise TypeError('<STR_LIT>'<EOL>'<STR_LIT>'.format(type(focus)))<EOL><DEDENT>return pos<EOL>
Get the position of the UI elements.

Args:
    focus: focus point of UI proxy,  see :py:meth:`.focus() <poco.proxy.UIObjectProxy.focus>` for more details

Returns:
    2-list/2-tuple: coordinates (x, y) in NormalizedCoordinate system

Raises:
    TypeError: raised when unsupported focus type is specified