我有一个实现JavascriptExecutor的CustomWebDriver类,我有如下覆盖:
@Override
public Object executeScript(String script, Object... args) {
return ((JavascriptExecutor) driver).executeScript(script, args);
}
当我使用如下所示时,我看到错误:Argument is of an illegal type: driverFactory.CustomWebElement
WebElement testElmtBy = returnSearchLists().get(i);
WebDriver vDriver = driver.get();
((JavascriptExecutor)vDriver).executeScript("arguments[0].scrollIntoView(true);", testElmtBy);
returnSearchLists().get(i)
属于CustomWebElement
类型,该类中的元素为public WebElement iElement;
虽然我将testElmtBy声明为WebElement,但它仍被视为CustomWebElement。
这里有什么我想念的吗?
答案 0 :(得分:1)
我为此问题找到了以下解决方案:
我CustomWebElement
实施了WrapsElement
并具有如下覆盖:
public WebElement iElement;
@Override
public WebElement getWrappedElement() {
return iElement;
}