'Returns a list of elements in the ``source`` matching the ``xpath``.
The ``source`` can be a path to an XML file, a string containing XML, or
an already parsed XML element. The ``xpath`` specifies which element to
find. See the `introduction` for more details.
Elements matching the ``xpath`` are returned as a list. If no elements
match, an empty list is returned. Use `Get Element` if you want to get
exactly one match.
Examples using ``${XML}`` structure from `Example`:
| ${children} =    | Get Elements | ${XML} | third/child |
| Length Should Be | ${children}  | 2      |             |
| ${children} =    | Get Elements | ${XML} | first/child |
| Should Be Empty  |  ${children} |        |             |'

def get_elements(self, source, xpath):

    if is_string(source):
        source = self.parse_xml(source)
    finder = ElementFinder(self.etree, self.modern_etree, self.lxml_etree)
    return finder.find_all(source, xpath)
