Encontrar elementos dentro de formularios e iframe usando Java y Selenium WebDriver

Estoy intentando acceder a los elementos que están presentes en

elements

.

¿Podrías ayudarme a acceder a estos ‘elementos’ , que estoy trabajando con Selenium Webdriver y JAVA?

Problema encontrado: Capaz de llegar a la página de destino (donde están presentes los elementos anteriores), pero esos elementos no se reconocen con mi código.

Descripción de la estructura XML:

  

Extracto de código:

 WebDriverWait wait_iframe = new WebDriverWait(driver, 20000); wait_iframe.until(ExpectedConditions.visibilityOfElementLocated((By.id("element2")))); calling_function(sh1.getCell(col + 10, row).getContents(), sh1.getCell(col + 11, row).getContents(), sh1.getCell(col + 12, row).getContents(), sh1.getCell(col + 14, row).getContents()); public static void called_funciton(String string1, String string2, String string3, String string4) { driver.findElement(By.name("Element1 Name")).sendKeys(string1); driver.findElement(By.id("Element2 ID")).sendKeys(string2); driver.findElement(By.id("Element3 ID")).sendKeys(string3); driver.findElement(By.id("Element4 ID")).sendKeys(string4); driver.findElement(By.name("submitButton")).click(); } 

¡Avíseme si necesita más detalles!

Antes de intentar buscar los elementos dentro del iframe, deberá cambiar el foco de Selenium al iframe.

Pruebe esto antes de buscar los elementos dentro del iframe:

 driver.switchTo().frame(driver.findElement(By.name("iFrameTitle"))); 

Al usar un iframe, primero tendrá que cambiar al iframe, antes de seleccionar los elementos de ese iframe

Puedes hacerlo usando:

 driver.switchTo().frame(driver.findElement(By.id("frameId"))); //do your stuff driver.switchTo().defaultContent(); 

En caso de que su frameId sea dynamic, y usted solo tenga un iframe, puede usar algo como:

 driver.switchTo().frame(driver.findElement(By.tagName("iframe")));