Maison >Java >javaDidacticiel >Comment gérer efficacement les iFrames imbriqués dans Selenium WebDriver avec Java ?

Comment gérer efficacement les iFrames imbriqués dans Selenium WebDriver avec Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-31 18:17:30340parcourir

How to Effectively Handle Nested iFrames in Selenium WebDriver with Java?

Gestion des iFrames imbriquées à l'aide de Selenium WebDriver en Java

Problème :

Dans un scénario avec Dans les iFrames imbriqués, vous devez accéder à un iFrame interne pour manipuler ses éléments, puis revenir à l'iFrame externe pour interagir avec son contenu. Cependant, vous rencontrez un problème où la navigation vers l'iFrame externe ne parvient pas à localiser les éléments qu'il contient.

Résolution :

Pour gérer efficacement les iFrames imbriqués, procédez comme suit :

  1. Passer à l'iFrame externe :

    <code class="java">driver.switchTo().frame("cq-cf-frame");</code>
  2. Passer à l'iFrame interne :

    <code class="java">driver.switchTo().Frame("cq-gen379");</code>
  3. Interagissez avec l'élément iFrame interne :

    <code class="java">driver.findElement(By.id("CQrte").sendKeys("Tnx");</code>
  4. Déconnectez-vous de l'iFrame interne :
    N'utilisez pas « parent » ou « parent ». Au lieu de cela, passez au contenu par défaut (en dehors de tous les cadres) en utilisant :

    <code class="java">driver.switchTo().defaultContent();</code>
  5. Revenir à l'iFrame externe :

    <code class="java">driver.switchTo().frame("cq-cf-frame");</code>
  6. Interagissez avec l'élément iFrame externe :

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

Remarques supplémentaires :

  • Il est crucial de quitter l'iFrame interne avant de revenir à l'iFrame externe pour éviter les problèmes d'emplacement des éléments.
  • Si vous ne passez pas à l'iFrame interne (cq-gen379), vous pouvez cliquer directement sur le bouton "OK" dans l'iFrame externe.

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