webdriver - select frame in selenium
¿Cómo espero que cargue un marco específico? Estoy usando Selenium webdriver 2.24 (2)
Usé el selenio respaldado por el controlador web para esperar a que se cargue un marco específico. ya que en ciertos casos la conmutación a un marco específico falla porque el marco no se ha cargado. El código que uso es
selenium.waitForFrameToLoad(frameJCLeft, strTimeOut);
driver.switchTo().defaultContent();
driver.switchTo().frame(frameJCLeft);
Por favor, avíseme si hay un método, ya que estoy planeando eliminar webdriver con respaldo de selenio y solo usar el apk webdriver
Cambiaría a usar Selenium 2 y usar RemoteWebDriver en lugar de "WebDriver backed selenium 1.0 stuff". Luego, jugaría con WebDriver.TargetLocator .
Puede usar la clase Web Driver Wait y Expected Condition para lograr esto.
Prueba este código
WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(frameName);
El código anterior esperará un given frame up to 10 seconds
. Si el marco está disponible, cambia al marco dado. De lo contrario, arroja una TimeoutException
.
El límite de tiempo depende de la aplicación y el deseo del usuario.
Para obtener más información http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#frameToBeAvailableAndSwitchToIt(java.lang.String)