我想用JavascriptExecutor按下一个键。为此,我创建了一个类和一个静态方法。
private static JavascriptExecutor jsExecutor = (JavascriptExecutor)BrowserFactory.getDriver();
public static void clickButton(BaseElement element){
jsExecutor.executeScript("arguments[0].click()", element.getLocator());
}
但是当我在PageObject方法中调用click按钮时,我得到了一个错误
public void clickForJsAlertButton() {
ScriptManager.clickButton(elementButton);
}
java.lang.IllegalArgumentException: Argument is of an illegal type: org.openqa.selenium.By$ByXPath
我不明白为什么会发生这种情况,需要做些什么来修复它
jsexexecutor -仅适用于WebElement
public static void clickButton(By locator){
WebElement element = BrowserFactory.getDriver().findElement(locator);
jsExecutor.executeScript("arguments[0].click()", element);
}