protected void click(Driver driver, WebElement element, int offsetX, int offsetY) {
if (driver.config().clickViaJs()) {
driver.executeJavaScript("arguments[0].dispatchEvent(new MouseEvent('click', {" +
"'view': window," +
"'bubbles': true," +
"'cancelable': true," +
"'clientX': arguments[0].getClientRects()[0].left + arguments[1]," +
"'clientY': arguments[0].getClientRects()[0].top + arguments[2]" +
"}))",
element,
offsetX,
offsetY);
}
else {
driver.actions()
.moveToElement(element, offsetX, offsetY)
.click()
.build()
.perform();
}
}
}