Comment ouvrir un nouvel onglet en sélénium

Comment ouvrir un nouvel onglet en sélénium

Avec le sélénium, une URL peut être ouverte dans un nouvel onglet. Pour cela, vous pouvez appliquer les Sendkeys et les clés.méthodes d'accords. Plusieurs clés peuvent être fournies immédiatement en utilisant les clés.fonction d'accords. Nous pouvons également lancer les nouveaux onglets dans le même navigateur à l'aide de Selenium WebDriver et basculer entre eux. Cet article discute du nouveau processus et de la fonctionnalité d'ouverture du sélénium Webdriver. Nous démontrons cette fonction avec quelques exemples simples.

Comment ouvrir un nouvel onglet en sélénium

En utilisant le sélénium, il est possible d'automatiser les instructions du navigateur. Il est fonctionnel pour tous les programmeurs, travaille avec tous les principaux systèmes d'exploitation et a du contenu créé dans plusieurs langages, notamment Python, Java, C # et autres. La nouvelle commande de fenêtre de Selenium 4 permet à ses utilisateurs d'ouvrir plus facilement un nouvel onglet ou une nouvelle fenêtre. L'onglet ou la fenêtre créé a la focalisation après l'exécution de la commande.

Commande pour ouvrir un nouvel onglet en sélénium

La commande suivante peut être utilisée pour ouvrir un nouvel onglet en sélénium:

conducteur.obtenir (URL);


Il peut également être écrit comme suit:

String url = "url";
conducteur.obtenir (URL);


Maintenant, expliquons quelques exemples qui expliquent le processus d'ouverture d'un nouvel onglet en sélénium.

Exemple 1:

Dans ce premier exemple, nous utilisons des méthodes simples et de base pour les développeurs inexpérimentés et expérimentés pour les aider dans leur codage initial.

Pour exécuter le code, nous devons d'abord créer une classe nommée «NewtabExample».


Maintenant, nous exécutons le code suivant:

classe publique NewtabExample

public static void main (String [] args)

Webdrivermanager.chromedriver ().installation();
WebDriver myDriver = new ChromEdriver ();
mon chauffeur.gérer().délais de temps ().ImplicitlyWait (3o, timeUnit.Secondes);
mon chauffeur.get ("http: // www.bing.com ");
Système.dehors.println (mydriver.getTitle ());
mon chauffeur.basculer vers().Newwindow (WindowType.LANGUETTE);


Maintenant, nous comprenons ce code. Tout d'abord, nous lançons le «Bing.com »à travers le conducteur«.Méthode d'obtention. Ensuite, nous ajoutons une impression de commande dans le conducteur ".gettitle ”qui vous donne le titre de la page. Nous écrivons le conducteur ".Communiquez »à la nouvelle méthode de fenêtre. Dans cette nouvelle fenêtre particulière, vous pouvez passer un nouvel onglet ou une nouvelle fenêtre que vous souhaitez ouvrir. Nous écrivons le type de type de fenêtre. Alors, écrivez le nom de la fenêtre. Le type de fenêtre est une enum (qui est soit vous souhaitez ouvrir un nouvel onglet ou une nouvelle fenêtre). Ici, nous ouvrons un nouvel onglet pour que nous écrivions «onglet». Après avoir exécuté ce code, il ouvre un nouvel onglet vierge. Maintenant, faisons-le et voyons le résultat.


Après avoir exécuté le code précédent, nous obtenons le résultat dans deux fenêtres: l'une est Bing.com et l'autre onglet est vide.

mon chauffeur.basculer vers().Newwindow (WindowType.LANGUETTE);


Après avoir ouvert un nouvel onglet, il montre où le pilote est disponible exactement. Par exemple, nous ouvrons deux onglets - Tab numéro 1 et numéro de l'onglet 2. Dans l'onglet numéro 1, nous avons «Bing.com ». Dans l'onglet numéro 2, nous avons «Facebook.com ». Plus tôt, lorsque nous lançons notre pilote où nous lançons «Bing.com », le pilote est disponible dans le premier onglet. Mais au moment où nous écrivons le «chauffeur.gettitle », c'est Bing. Le moment où nous écrivons le «chauffeur.Commutation «vers une nouvelle fenêtre, le type de fenêtre est l'onglet. Maintenant, la nouvelle fenêtre vide est ouverte. Le pilote passe ici, ce qui signifie que le conducteur est disponible dans l'onglet ouvert ouvert. Ainsi, le contrôle du conducteur est disponible ici.

Après cela, si nous écrivons l'imprimerie «Driver.Gettitle "Encore une fois, le conducteur est disponible sur la fenêtre vide dans l'onglet vide. Il ne devrait pas vous remettre de titre. Lorsque vous exécutez le code, vous trouverez un onglet vierge.

Exemple 2:

Maintenant, nous créons d'abord une nouvelle classe pour effectuer le script appelé "NewwindowExample".


La première étape pour ouvrir le sélénium est de saisir la configuration.Setproperty et le conducteur chromé. Ensuite, saisissez les packages pour les deux.

Système.setProperty ('webDriver.chrome.Driver ', ° C: \\ Users \\ ABC \\ Téléchargements \\ ChromEdriver_Win32 \\ ChromEdriver.exe");
WebDriver myDriver = new ChromEdriver ();
mon chauffeur.gérer().fenêtre().maximiser();


Pour atteindre notre objectif, écrivez le chauffeur URL.obtenir () d'abord et coller l'url spécifique dedans. Maintenant, lorsque nous exécutons le script, nous obtenons la fenêtre spécifique dans un nouvel onglet.

Si nous voulons faire face à plusieurs fenêtres, nous passons d'une fenêtre à une autre. Pour exécuter cela, nous écrivons un «pilote.Changer". Ensuite, nous pouvons voir qu'il existe des options qui sont ouvertes en sélénium. Les options incluent les éléments suivants:

    • basculer vers.cadre (int FrameNumber)
    • basculer vers.cadre (WebElement Frameelement)
    • basculer vers.cadre (chaîne FrameName)
    • basculer vers().DefaultContent ()

Nous examinons toute cette procédure grâce à notre codage.

public static void main (String [] args)
Système.SetProperty («WebDriver.chrome.pilote "," C: \\ Users \\ ABC \\ Téléchargements \\ chromedriver_win32 \\ chromEdriver.exe");
WebDriver myDriver = new ChromEdriver ();
mon chauffeur.gérer().fenêtre().maximiser();
mon chauffeur.get («https: // www.eBay.com ”)


Lorsque nous exécutons ce code en sélénium, nous obtenons la page Amazon comme sortie dans notre nouvel onglet.

mon chauffeur.basculer vers().Newwindow (WindowType.LANGUETTE);


En utilisant cette ligne particulière (donnée précédemment), nous convaincons Selenium d'ouvrir un tout nouveau onglet lorsque l'exécution est en place.

Maintenant, nous devons ajouter une autre URL. Que fait notre script après l'exécution du code? Tout d'abord, la fenêtre Amazon s'ouvre. Ensuite, la fenêtre de la force de vente s'ouvre.

mon chauffeur.basculer vers().Newwindow (WindowType.LANGUETTE);
mon chauffeur.get («https: // bing.com ”)


Exemple 3:

Maintenant, dans le troisième et dernier exemple de cet article, nous créons un nouveau nom de classe et créons une nouvelle fenêtre ou onglet. Dans ce code, nous utilisons le webdriver et spécifions une variable. Ensuite, en utilisant un webdriver, nous pouvons créer un objet à l'aide du gestionnaire Web. Cela s'ouvre en tant que conducteur chromé. Maintenant, nous devons ouvrir l'URL. Pour cela, nous utilisons la méthode GET qui est présente dans le webdriver. Nous devons fournir l'URL et l'ouvrir. Alors, donnons cette URL spécifique et créons une variable de chaîne appelée URL et le pilote.Trouver un élément, par XPath Locator que nous avons trouvé. Cela recouvre la WebElement. Ensuite, saisissez l'impression.dehors.imprimer.dans ”puisque nous visons à ouvrir cette URL dans un nouvel onglet ou une nouvelle fenêtre. Nous pouvons y parvenir en utilisant le «pilote.Communiquez »à la nouvelle méthode de fenêtre qui est présente dans le sélénium. Nous devons fournir le type de fenêtre au «nouveau type de fenêtre» comme ce qu'il devrait être, qu'il s'agisse d'un onglet ou d'une fenêtre. Mais le type de fenêtre n'est rien d'autre qu'une énumération.

Public Enum WindowType
Fenêtre («fenêtre»),
Onglet («Tab»),


Enum accepte soit une fenêtre ou un onglet. Nous devons fournir cela à la «fenêtre.taper.Méthode onglet ». Voir le reste du code dans ce qui suit:

mon chauffeur.get ("https: // www.sélénium.dev / ");
conducteur.gérer().fenêtre().maximiser();
String UrlName = Driver.findElement (par.xpath ("// table [@ id = 'table1' / tbody / système.dehors.println (ur1name);
mon chauffeur.basculer vers().Newwindow (WindowType.LANGUETTE);
mon chauffeur.get (ur1Name);
Système.dehors.println (mydriver.getTitle ());


Cela s'ouvre dans un nouvel onglet et passe à cet onglet. Une fois l'onglet ouvert, nous pouvons ouvrir notre URL chaque fois que nous utilisons le pilote.obtenir. L'URL, qui est la chaîne de cette façon, s'ouvre dans un nouvel onglet.

Conclusion

Nous avons fourni une brève introduction au Sélénium Webdriver et découvert comment ouvrir en détail un nouvel onglet dans Selenium. Avec l'aide de quelques exemples, nous avons également appris à ouvrir plusieurs onglets dans le Selenium Wedriver et certaines des fonctions du sélénium.