Java Selenium - JavaScriptExecutor - 参数是非法类型:driverFactory.CustomWebElement

时间:2016-04-01 14:48:24

标签: javascript java selenium selenium-webdriver

我有一个实现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。

这里有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

我为此问题找到了以下解决方案:

CustomWebElement实施了WrapsElement并具有如下覆盖:

public WebElement iElement;    
@Override
public WebElement getWrappedElement() {
    return iElement;
}