<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def text(self, value):
 """Set value on the element :param value: value to be set """

        if self.driver_wrapper.is_ios_test() and not self.driver_wrapper.is_web_test():
            self.web_element.set_value(value)
        elif self.shadowroot:
            self.driver.execute_script('return document.querySelector("%s")'
                                       '.shadowRoot.querySelector("%s")'
                                       '.value = "%s"' % (self.shadowroot, self.locator[1], value))
        else:
            self.web_element.send_keys(value)