code: def trigger_event(self, element, event, event_type=None, options=None):
          
          if not isinstance(element, (tuple, list)):
              element = [element]
          if not isinstance(event, (tuple, list)):
              event = [event]
          for el in element:
              for e in event:
                  self.browser.execute_script(
                      'e = new %s("%s"); ops = %s; if (ops) {for(key in ops) { \
                          Object.defineProperty(e, key, { value: ops[key], configurable: true }) \
                      }} arguments[0].dispatchEvent(e)' % (
                          event_type if event_type else 'Event',
                          e, json.dumps(options) if options else 'undefined'
                      ), el)
docs: :Description: Trigger specified event of the given element.
          :param element: Element for browser instance to target.
          :type element: WebElement, (WebElement, ...)
          :param event: Event to trigger from target element.
          :type event: string, (string, ...)
          :param event_type: Event type.
          :type event_type: string
          :example: 'KeyboardEvent'
          :param options: Event options.
          :example: { 'bubbles': True, 'cancelable': False }
          :type options: dict