Ich habe versucht, mit Selenium Web-Treiber, um die WebElement mit Methode erhalten findElement . es funktionierte. aber hatte das Problem mit Reflection api, wenn ich versuchte, die Methode aufzurufen findElement und Argument als By.name(""), um WebElement im Gegenzug zu erhalten. hier die folgenden Zeilen können mehr Idee über Problem geben.
Javaw hat die Ausnahme ausgelöst, dass
java.lang.NoSuchMethodException: org.openqa.selenium.firefox.FirefoxDriver.findElement(org.openqa.selenium.By$ByName) at java.lang.Class.getMethod(Unbekannte Quelle)
Allgemein erprobt Ansatz (Arbeiten)
WebDriver driver = new FirefoxDriver();
Method[] methods = driver.getClass().getMethods();
for(Method method:methods){
System.out.println(method.getName());
}
driver.manage().window().maximize();
driver.get("http://www.facebook.com/");
By by = By.name("email");
WebElement element = driver.findElement(by);
Implementiert mit Java-Reflection-Api (Ausnahme durch folgenden Code aufgetreten)
WebDriver driver = new FirefoxDriver();
Method[] methods = driver.getClass().getMethods();
for(Method method:methods){
System.out.println(method.getName());
}
driver.manage().window().maximize();
driver.get("http://www.facebook.com/");
By by = By.name("email");
Class c = Class.forName(driver.getClass().getName());
Method getMethod = c.getMethod("findElement", new Class[]{by.getClass()});
getMethod.setAccessible(true);
WebElement element = (WebElement) getMethod.invoke(driver, by);
Bitte kann jemand führen, um die Arbeit von Code mit Reflexion api getan bekommen