Click and hold the left mouse button (at the coordinates set by the last moveto command).

@param $btn - const WebDriver::BUTTON_*
@return $this
358184
public function buttonDown($btn)
    {
        $command = $this->getDriver()->factoryCommand('buttondown', WebDriver_Command::METHOD_POST, ['button' => $btn]);
        $this->getDriver()->curl($command);
        return $this;
    }
379696
public function tap(WebDriverElement $element)
    {
        $this->executor->execute(
            DriverCommand::TOUCH_SINGLE_TAP,
            ['element' => $element->getID()]
        );

        return $this;
    }
358101
public function clickButton(string $buttonName)
    {
        $this->context->getElementByText($buttonName, $this->fields['buttonSelector'])->click();
    }
919882
public function persistent($showConfirmBtn = true, $showCloseBtn = false)
    {
        $this->config['allowEscapeKey'] = false;
        $this->config['allowOutsideClick'] = false;
        $this->removeTimer();

        if ($showConfirmBtn) {
            $this->showConfirmButton();
        }

        if ($showCloseBtn) {
            $this->showCloseButton();
        }

        $this->flash();

        return $this;
    }
196968
public function down($x, $y)
    {
        $this->webDriver->getDriver()->curl(
            $this->webDriver->getDriver()->factoryCommand(
                'touch/down',
                WebDriver_Command::METHOD_POST,
                [
                    'x' => (int) $x,
                    'y' => (int) $y,
                ]
            )
        );
        return $this;
    }
82629
public function setPosition($position)
    {
        if (in_array($position, [self::ADDON_LEFT, self::ADDON_RIGHT])) {
            $this->position = $position;
        }

        return $this;
    }
185519
public function leftJoinOnTo($source, $table, $on)
    {
        $this->join('LEFT', $source, $table, $on);

        return $this;
    }
369771
public function latlon(float $lat, float $lon): self
    {
        $this->query['lat'] = $lat;

        $this->query['lon'] = $lon;

        return $this;
    }
1077615
public Actions click() {
    if (isBuildingActions()) {
      action.addAction(new ClickAction(jsonMouse, null));
    }

    return clickInTicks(LEFT);
  }
1370290
function(btn) {
    if (btn.attr('data-open') === "true") {
      return;
    }

    var offsetX, offsetY, scaleFactor;
    var windowWidth = window.innerWidth;
    var windowHeight = window.innerHeight;
    var btnRect = btn[0].getBoundingClientRect();
    var anchor = btn.find('> a').first();
    var menu = btn.find('> ul').first();
    var backdrop = $('<div class="fab-backdrop"></div>');
    var fabColor = anchor.css('background-color');
    anchor.append(backdrop);

    offsetX = btnRect.left - (windowWidth / 2) + (btnRect.width / 2);
    offsetY = windowHeight - btnRect.bottom;
    scaleFactor = windowWidth / backdrop.width();
    btn.attr('data-origin-bottom', btnRect.bottom);
    btn.attr('data-origin-left', btnRect.left);
    btn.attr('data-origin-width', btnRect.width);

    // Set initial state
    btn.addClass('active');
    btn.attr('data-open', true);
    btn.css({
      'text-align': 'center',
      width: '100%',
      bottom: 0,
      left: 0,
      transform: 'translateX(' + offsetX + 'px)',
      transition: 'none'
    });
    anchor.css({
      transform: 'translateY(' + -offsetY + 'px)',
      transition: 'none'
    });
    backdrop.css({
      'background-color': fabColor
    });


    setTimeout(function() {
      btn.css({
        transform: '',
        transition: 'transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s'
      });
      anchor.css({
        overflow: 'visible',
        transform: '',
        transition: 'transform .2s'
      });

      setTimeout(function() {
        btn.css({
          overflow: 'hidden',
          'background-color': fabColor
        });
        backdrop.css({
          transform: 'scale(' + scaleFactor + ')',
          transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
        });
        menu.find('> li > a').css({
          opacity: 1
        });

        // Scroll to close.
        $(window).on('scroll.fabToolbarClose', function() {
          toolbarToFAB(btn);
          $(window).off('scroll.fabToolbarClose');
          $(document).off('click.fabToolbarClose');
        });

        $(document).on('click.fabToolbarClose', function(e) {
          if (!$(e.target).closest(menu).length) {
            toolbarToFAB(btn);
            $(window).off('scroll.fabToolbarClose');
            $(document).off('click.fabToolbarClose');
          }
        });
      }, 100);
    }, 0);
  }
1177782
public function setPosition($left, $top)
    {
        $params = [
            'x' => intval($left),
            'y' => intval($top)
        ];
        $command = $this->driver->factoryCommand(
            'window/' . $this->windowHandle . '/position',
            WebDriver_Command::METHOD_POST,
            $params
        );
        return $this->driver->curl($command)['value'];
    }
525751
public function mouseUp(WebDriverCoordinates $where = null)
    {
        $this->moveIfNeeded($where);
        $this->executor->execute(DriverCommand::MOUSE_UP);

        return $this;
    }
373932
public function longClick()
    {
        $command = $this->webDriver->getDriver()->factoryCommand(
            'touch/longclick',
            WebDriver_Command::METHOD_POST,
            ['element' => $this->element->getElementId()]
        );
        $result = $this->webDriver->getDriver()->curl($command);
        return $this;
    }
1299714
public function withSpan(Span $span)
    {
        array_push($this->spans, $span);
        $prevContext = Context::current()
            ->withValues([
                'currentSpan' => $span,
                'spanId' => $span->spanId()
            ])
            ->attach();
        $span->attach();
        return new Scope(function () use ($prevContext) {
            $currentContext = Context::current();
            $span = $currentContext->value('currentSpan');
            if ($span) {
                $span->setEndTime();
            }
            $currentContext->detach($prevContext);
        });
    }
563683
public function enaThumbRmove()
    {
        $properties = $this->getProperties();
        $properties['thumbRmove'] = self::BOOLEAN_TRUE;
        $this->setProperties($properties);
        return $this;
    }
610248
public function createButton($label)
    {
        $node = new Button();

        if ($label instanceof Button) {
            $node = $label;
        } elseif ($label instanceof Dropdown) {
            $node = clone $label;
            $node->attributes->removeAttributeClass('dropdown');
            $node->attributes->addAttributeClass('btn-group');
            $node->attributes->addAttribute('role', 'group');

            $node->childNodes->push($label->toggle);
            $node->childNodes->push($label->menu);
        } else {
            $node->setLabel($label);
            if (is_numeric($label)) {
                $node->entity->setEntityName('button-' . $label);
            } else {
                $node->entity->setEntityName($label);
            }
        }

        $this->childNodes->push($node);

        return $this->childNodes->last();
    }
1093549
public function pressButton($button)
    {
        // Wait for any open autocomplete boxes to finish closing.  They block
        // form-submission if they are still open.
        // Use a step 'I press the "Esc" key in the "LABEL" field' to close
        // autocomplete suggestion boxes with Mink.  "Click" events on the
        // autocomplete suggestion do not work.
        try {
            $this->getSession()->wait(1000, 'typeof(jQuery)=="undefined" || jQuery("#autocomplete").length === 0');
        } catch (UnsupportedDriverActionException $e) {
            // The jQuery probably failed because the driver does not support
            // javascript.  That is okay, because if the driver does not support
            // javascript, it does not support autocomplete boxes either.
        }

        // Use the Mink Extension step definition.
        return parent::pressButton($button);
    }