Maison  >  Article  >  Java  >  Comment gérer les Iframes imbriquées dans Selenium WebDriver avec Java : un guide étape par étape

Comment gérer les Iframes imbriquées dans Selenium WebDriver avec Java : un guide étape par étape

Barbara Streisand
Barbara Streisandoriginal
2024-10-31 18:06:02241parcourir

How to Handle Nested Iframes in Selenium WebDriver with Java: A Step-by-Step Guide

Gestion des iframes imbriquées dans Selenium WebDriver à l'aide de Java

Cette question porte sur la gestion des iframes imbriquées à l'aide de Selenium WebDriver en Java. La structure HTML fournie implique deux iframes imbriquées. La tâche consiste à sélectionner l'iframe externe pour accéder à l'iframe interne et saisir du texte dans son corps. Par la suite, l'objectif est de quitter l'iframe interne, de rentrer dans l'iframe externe et de cliquer sur un bouton "OK" situé dans l'iframe externe.

Initialement, le code donné passe avec succès à l'iframe externe (" cq-cf-frame") et écrit le texte dans le corps de l'iframe imbriquée ("cq-gen379"). Cependant, lorsque vous tentez de quitter l'iframe interne et de localiser le bouton « OK » dans l'iframe externe, l'élément est introuvable.

Résoudre le problème

Pour résoudre Pour résoudre le problème, il est nécessaire de quitter explicitement tous les cadres imbriqués (dans ce cas, l'iframe interne) avant de rentrer dans le cadre externe. Ceci est réalisé en utilisant la méthode driver.switchTo().defaultContent(). En utilisant cette méthode, vous pouvez quitter le frame actuel et revenir au document principal.

Voici le code corrigé :

<code class="java">// Between step 4 and step 5
// Remove selenium.selectFrame("relative=up");

// Exit the nested iframe
driver.switchTo().defaultContent();

// Re-enter the outer iframe
driver.switchTo().frame("cq-cf-frame");

// Continue step 6
driver.findElement(By.xpath("//button[text()='OK']")).click();</code>

Cette modification garantit que le code quitte l'iframe interne avant tenter d'interagir avec des éléments dans l'iframe externe. Il localisera avec succès le bouton "OK" et cliquera dessus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn