Gibt es eine Methode im Web-Treiber, mit der wir alle Frames in Page erhalten können. Genau wie wir haben, um alle Fenstergriffe zu erhalten.So erhalten Sie Frame-Namen in einer Seite
driver.getWindowHandles()
Gibt es eine Methode im Web-Treiber, mit der wir alle Frames in Page erhalten können. Genau wie wir haben, um alle Fenstergriffe zu erhalten.So erhalten Sie Frame-Namen in einer Seite
driver.getWindowHandles()
Dies ist vielleicht das, was Sie wollen, dann:
public void getIframe(final WebDriver driver, final String id) {
final List<WebElement> iframes = driver.findElements(By.tagName("iframe"));
for (WebElement iframe : iframes) {
if (iframe.getAttribute("id").equals(id)) {
// TODO your stuff.
}
}
}
Es ist wichtig, aber daran zu erinnern, dass, wenn Ihre Seite hat zu viele von diesen Objekte, der Code kann ein wenig langsamer werden, aber ich spreche über mehr als 100+ in meinen Tests bei der Verwendung dieser Lösung.
Versuchen Sie diesen Code:
//Assume driver is initialized properly.
List<WebElement> ele = driver.findElements(By.tagName("frame"));
System.out.println("Number of frames in a page :" + ele.size());
for(WebElement el : ele){
//Returns the Id of a frame.
System.out.println("Frame Id :" + el.getAttribute("id"));
//Returns the Name of a frame.
System.out.println("Frame name :" + el.getAttribute("name"));
}
kann nicht implizit konvertieren – Lijo
Können Sie Ihre Frage klären? – aimbire