Maison >Java >javaDidacticiel >Comment basculer entre les frames à l'aide de Selenium WebDriver en Java ?

Comment basculer entre les frames à l'aide de Selenium WebDriver en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-08 08:47:10528parcourir

How to Switch Between Frames Using Selenium WebDriver in Java?

Basculer entre les cadres avec Selenium WebDriver en Java

Lorsque vous travaillez avec des jeux de cadres dans Selenium WebDriver, il est essentiel de comprendre comment basculer entre différents cadres pour interagir avec leur contenu. Bien que Selenium IDE puisse fournir des enregistrements à l'aide de la commande "selectFrame" avec les arguments "relative=top" et "middleFrame", ceux-ci ne sont pas reconnus directement par Selenium WebDriver.

Solution :

Pour basculer entre les frames dans Selenium WebDriver à l'aide de Java, vous disposez de trois options :

  • Index du cadre : Utilisez la méthode driver.switchTo().frame(int index), où index correspond à l'index de base zéro du cadre que vous souhaitez select.
  • Nom ou ID du cadre : Utilisez la méthode driver.switchTo().frame(String nameOrId), en fournissant le nom ou l'ID attribut du frame que vous souhaitez cibler.
  • WebElement : Si vous avez préalablement identifié le WebElement du frame à l'aide d'un localisateur, vous pouvez utiliser le driver.switchTo().frame(WebElement frameElement) méthode.

Exemple de code :

Pour changer au cadre avec l'ID "middleFrame":

driver.switchTo().frame("middleFrame");

Pour passer au cadre qui se trouve deux niveaux en dessous du cadre actuel :

driver.switchTo().frame(2);

Pour passer au cadre représenté par le frameElement trouvé à l'aide d'un localisateur :

WebElement frameElement = driver.findElement(By.cssSelector("iframe#frameElement"));
driver.switchTo().frame(frameElement);

Une fois le cadre sélectionné, toutes les actions ultérieures effectuées par WebDriver seront dans le contexte de ce cadre jusqu'à ce que vous changiez revenir au cadre par défaut ou à un autre cadre.

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