2016-04-01 6 views
0

ich eine CustomWebDriver Klasse haben, die JavascriptExecutor implementiert, und ich habe die Überschreibung wie folgt:Java Selen - JavaScriptExecutor - Argument ist eines illegalen Typ: driverFactory.CustomWebElement

@Override 
public Object executeScript(String script, Object... args) { 
    return ((JavascriptExecutor) driver).executeScript(script, args); 
} 

Als ich dies verwenden, wie unten, ich sehe eine der Fehler: 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) ist CustomWebElement Typ und in dieser Klasse ist das Element public WebElement iElement;

Obwohl ich testElmtBy als WebElement deklariert habe, wird es immer noch als CustomWebElement betrachtet.

Gibt es irgendetwas, was ich hier vermisse?

Antwort

1

fand ich die unten Lösung für dieses Problem:

I CustomWebElementWrapsElement implementieren hatte und wie unten die Überschreibung haben:

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