<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def select_from_drop_down_by_text(self, drop_down_locator, option_locator, option_text, params=None):
 """ Select option from drop down widget using text. :param drop_down_locator: locator tuple (if any, params needs to be in place) or WebElement instance :param option_locator: locator tuple (if any, params needs to be in place) :param option_text: text to base option selection on :param params: Dictionary containing dictionary of params :return: None """

        # Open/activate drop down
        self.click(drop_down_locator, params['drop_down'] if params else None)

        # Get options
        for option in self.get_present_elements(option_locator, params['option'] if params else None):
            if self.get_text(option) == option_text:
                self.click(option)
                break