Quiero presionar una tecla con JavascriptExecutor. Para esto, he creado una clase y un método estático.
private static JavascriptExecutor jsExecutor = (JavascriptExecutor)BrowserFactory.getDriver(); public static void clickButton(BaseElement element){ jsExecutor.executeScript("arguments[0].click()", element.getLocator()); }Pero cuando en mi método PageObject llamo al clic del botón, aparece un error
public void clickForJsAlertButton() { ScriptManager.clickButton(elementButton); } java.lang.IllegalArgumentException: Argument is of an illegal type: org.openqa.selenium.By$ByXPathNo entiendo por qué sucede esto y qué se debe hacer para solucionarlo.
jsExecutor: solo funciona con WebElement
public static void clickButton(By locator){ WebElement element = BrowserFactory.getDriver().findElement(locator); jsExecutor.executeScript("arguments[0].click()", element); }