'Unselects given values from select list identified by locator.
As a special case, giving empty list as `*items` will remove all
selections.
*items try to unselect by value AND by label.
It\'s faster to use \'by index/value/label\' functions.
Select list keywords work on both lists and combo boxes. Key attributes for
select lists are `id` and `name`. See `introduction` for details about
locating elements.'

@keyword
def unselect_from_list(self, locator, *items):

    items_str = ((items and ("option(s)    '%s'" % ',    '.join(items))) or 'all    options')
    self.info(("Unselecting    %s    from    list    '%s'." % (items_str, locator)))
    select = self._get_select_list(locator)
    if (not select.is_multiple):
        raise RuntimeError("Keyword    'Unselect    from    list'    works    only    for    multiselect    lists.")
    if (not items):
        select.deselect_all()
        return
    (select, options) = self._get_select_list_options(select)
    for item in items:
        try:
            select.deselect_by_value(item)
        except NoSuchElementException:
            pass
        try:
            select.deselect_by_visible_text(item)
        except NoSuchElementException:
            pass
