package com.codeborne.selenide.commands; import com.codeborne.selenide.Command; import com.codeborne.selenide.SelenideElement; import com.codeborne.selenide.impl.WebElementSource; import org.openqa.selenium.WebElement; import static com.codeborne.selenide.Configuration.clickViaJs; import static com.codeborne.selenide.Selenide.executeJavaScript; public class Click implements Command<Void> { @Override public Void execute(SelenideElement proxy, WebElementSource locator, Object[] args) { click(locator.findAndAssertElementIsVisible()); return null; } protected void click(WebElement element) { if (clickViaJs) { executeJavaScript("arguments[0].click()", element); } else { element.click(); } } }