Untitled
unknown
plain_text
a month ago
2.6 kB
5
Indexable
Never
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.List; public class SeleniumIFrameExample { public static void main(String[] args) { // Configuração do WebDriver (certifique-se de que o caminho para o ChromeDriver está correto) System.setProperty("webdriver.chrome.driver", "caminho/para/chromedriver"); WebDriver driver = new ChromeDriver(); // Abre a página com iframes driver.get("URL_DA_PAGINA_COM_IFRAME"); // Chama o método para encontrar o elemento pelo XPath nos iframes WebElement element = findElementInIframes(driver, "XPATH_DO_ELEMENTO_DESEJADO"); if (element != null) { System.out.println("Elemento encontrado!"); } else { System.out.println("Elemento não encontrado em nenhum iframe."); } // Fecha o navegador driver.quit(); } /** * Método para listar todos os iframes, iterar sobre eles e procurar um elemento pelo XPath. * @param driver WebDriver em uso. * @param xpath String com o XPath do elemento desejado. * @return WebElement encontrado, ou null se não for encontrado. */ public static WebElement findElementInIframes(WebDriver driver, String xpath) { // Obtém a lista de todos os iframes na página List<WebElement> iframes = driver.findElements(By.tagName("iframe")); // Itera sobre todos os iframes for (WebElement iframe : iframes) { try { // Troca para o iframe atual driver.switchTo().frame(iframe); // Tenta encontrar o elemento dentro do iframe List<WebElement> elements = driver.findElements(By.xpath(xpath)); if (!elements.isEmpty()) { // Se o elemento for encontrado, retorna o primeiro elemento encontrado return elements.get(0); } // Volta ao conteúdo principal antes de continuar para o próximo iframe driver.switchTo().defaultContent(); } catch (Exception e) { e.printStackTrace(); // Volta ao conteúdo principal no caso de erro driver.switchTo().defaultContent(); } } // Se o elemento não for encontrado em nenhum iframe, retorna null return null; } }
Leave a Comment