Maison > Java > javaDidacticiel > le corps du texte

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

Barbara Streisand
Libérer: 2024-10-31 18:06:02
original
333 Les gens l'ont consulté

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal