Come aprire una nuova scheda in selenio

Come aprire una nuova scheda in selenio

Con selenio, un URL può essere aperto in una nuova scheda. Per questo, puoi applicare SendKeys e Keys.Metodi di accordi. Più chiavi possono essere fornite immediatamente utilizzando le chiavi.funzione di accordo. Possiamo anche avviare le nuove schede nello stesso browser usando il webdriver di Selenio e passare da un po '. Questo articolo discute sul nuovo processo e funzionalità di apertura della scheda del webdriver Selenium. Dimostriamo questa funzione con alcuni semplici esempi.

Come aprire una nuova scheda in selenio

Usando il selenio, è possibile automatizzare le istruzioni del browser. È funzionale per tutti i programmatori, funziona con tutti i principali sistemi operativi e ha contenuti creati in diverse lingue tra cui Python, Java, C#e altri. Il nuovo comando di finestra da Selenium 4 rende più facile per i suoi utenti aprire una nuova scheda o finestra. La scheda o la finestra creata ha il focus dopo l'esecuzione del comando.

Comando per aprire una nuova scheda in selenio

Il comando seguente può essere utilizzato per aprire una nuova scheda in selenio:

autista.ottenere (URL);


Può anche essere scritto come segue:

String url = "url";
autista.ottenere (URL);


Ora, spieghiamo alcuni esempi che spiegano il processo di apertura di una nuova scheda in selenio.

Esempio 1:

In questo primo esempio, utilizziamo alcuni metodi semplici e di base per sviluppatori inesperti ed esperti per aiutarli nella loro codifica iniziale.

Per eseguire il codice, dobbiamo prima creare una classe denominata "NewTaBexample".


Ora eseguiamo il seguente codice:

Classe pubblica NewTaBexample

public static void main (string [] args)

WebDriverManager.ChromeDriver ().impostare();
WebDriver myDriver = new ChromeDriver ();
mydriver.maneggio().timeouts ().Implicitamente Wait (3O, time Unit.Secondi);
mydriver.get ("http: // www.Bing.com ");
Sistema.fuori.println (mydriver.getTitle ());
mydriver.passa a().NewWindow (WindowsType.Tab);


Ora, comprendiamo questo codice. Innanzitutto, lanciamo il "Bing.com "attraverso il conducente".Ottieni "metodo. Quindi, aggiungiamo una stampa di comando nel driver ".getTitle ”che ti dà il titolo della pagina. Scriviamo il driver ".Passa "al nuovo metodo della finestra. In questa particolare nuova finestra, puoi passare una nuova scheda o una nuova finestra che si desidera aprire. Scriviamo il tipo di tipo di finestra. Quindi, scrivi il nome della finestra. Il tipo di finestra è un enum (che è o si desidera aprire una nuova scheda o una nuova finestra). Qui, apriamo una nuova scheda in modo che scriviamo "Tab". Dopo aver eseguito questo codice, apre una nuova scheda vuota. Ora, eseguiamolo e vediamo il risultato.


Dopo aver eseguito il codice precedente, otteniamo il risultato in due finestre: uno è bing.com e l'altra scheda è vuota.

mydriver.passa a().NewWindow (WindowsType.Tab);


Dopo aver aperto una nuova scheda, mostra dove è esattamente il driver disponibile. Ad esempio, apriamo due schede - scheda numero 1 e scheda numero 2. Nella scheda numero 1, abbiamo “Bing.com ". Nella scheda numero 2, abbiamo "Facebook.com ". In precedenza, quando lanciamo il nostro driver dove lanciamo "Bing.com ", il driver è disponibile nella prima scheda. Ma nel momento in cui scriviamo il "Driver.getTitle ”, questo è bing. Nel momento in cui scriviamo il "Driver.Passa ”a una nuova finestra, il tipo di finestra è scheda. Ora, la nuova finestra vuota è aperta. Il driver cambia qui, il che significa che il driver è disponibile nella nuova scheda aperta. Quindi, il controllo del driver è disponibile qui.

Dopodiché, se scriviamo il driver di stampa ".getTitle ”di nuovo, il driver è disponibile sulla finestra vuota nella scheda vuota. Non dovrebbe darti più alcun titolo. Quando esegui il codice, troverai una scheda vuota.

Esempio 2:

Ora, creiamo per la prima volta una nuova classe per eseguire lo scripting chiamato "NewWindowExample".


Il primo passo per aprire il selenio è inserire l'installazione.SetProperty e il driver Chrome. Quindi, inserisci i pacchetti per entrambi.

Sistema.setProperty ('WebDriver.cromo.Driver ', ° C: \\ utenti \\ ABC \\ download \\ chromedriver_win32 \\ chromedriver.exe");
WebDriver myDriver = new ChromeDriver ();
mydriver.maneggio().finestra().massimizzare ();


Per raggiungere il nostro obiettivo, scrivi il driver URL.Ottieni () prima e incolla l'URL specifico in esso. Ora, quando eseguiamo lo script, otteniamo la finestra specifica in una nuova scheda.

Se vogliamo gestire più finestre, passiamo da una finestra a un'altra. Per eseguirlo, scriviamo un "driver.Interruttore". Quindi, possiamo vedere che ci sono opzioni aperte in selenio. Le opzioni includono quanto segue:

    • passa a.Frame (Int Framenumber)
    • passa a.Frame (WebElement FrameElement)
    • passa a.frame (string framename)
    • passa a().DefaultContent ()

Esaminiamo tutta questa procedura attraverso la nostra codifica.

public static void main (string [] args)
Sistema.setProperty ("WebDriver.cromo.driver "," C: \\ utenti \\ ABC \\ download \\ chromedriver_win32 \\ chromedriver.exe");
WebDriver myDriver = new ChromeDriver ();
mydriver.maneggio().finestra().massimizzare ();
mydriver.get ("https: // www.eBay.com ")


Quando eseguiamo questo codice in selenio, otteniamo la pagina Amazon come output nella nostra nuova scheda.

mydriver.passa a().NewWindow (WindowsType.Tab);


Usando questa particolare riga (data in precedenza), convinciamo Selenio ad aprire una nuova scheda quando è in atto l'esecuzione.

Ora, dobbiamo aggiungere un altro URL. Cosa fa il nostro script dopo aver eseguito il codice? Innanzitutto, la finestra di Amazon si apre. Quindi, la finestra della forza di vendita si apre.

mydriver.passa a().NewWindow (WindowsType.Tab);
mydriver.get ("https: // bing.com ")


Esempio 3:

Ora, nel terzo e ultimo esempio di questo articolo, creiamo un nuovo nome di classe e creiamo una nuova finestra o una scheda. In questo codice, utilizziamo il webdriver e specifichiamo una variabile. Quindi, utilizzando un webdriver, possiamo creare un oggetto utilizzando Web Manager. Questo si apre come un driver cromatico. Ora, dobbiamo aprire l'URL. Per questo, utilizziamo il metodo GET presente nel webdriver. Dobbiamo fornire l'URL e aprirlo. Quindi, diamo quel URL specifico e creiamo una variabile stringa chiamata URL e il driver.Trova l'elemento, dal localizzatore XPath che abbiamo trovato. Questo retruma il webelement. Quindi, inserisci la "stampa.fuori.stampa.in "poiché miriamo ad aprire questo URL in una nuova scheda o in una nuova finestra. Possiamo ottenere questo usando il "driver.Passa "al nuovo metodo della finestra che è presente in selenio. Dobbiamo fornire il tipo di finestra al "nuovo tipo di finestra" come quello che dovrebbe essere, che si tratti di una scheda o di una finestra. Ma il tipo di finestra non è altro che un enum.

public enum windowType
Finestra ("finestra"),
Tab ("Tab"),


Enum accetta una finestra o una scheda. Dobbiamo fornirlo alla "finestra.tipo.Metodo della scheda ". Vedere il resto del codice nel seguente:

mydriver.get ("https: // www.selenio.dev/");
autista.maneggio().finestra().massimizzare ();
String UrlName = driver.FindElement (di.XPath ("// Table [@id = 'Table1'/Tbody/System.fuori.println (ur1name);
mydriver.passa a().NewWindow (WindowsType.Tab);
mydriver.get (ur1name);
Sistema.fuori.println (mydriver.getTitle ());


Questo si apre in una nuova scheda e passa a quella scheda. Una volta aperta la scheda, possiamo aprire il nostro URL ogni volta che usiamo il driver.Ottenere. L'URL, che è la stringa in questo modo, si apre in una nuova scheda.

Conclusione

Abbiamo fornito una breve introduzione al webdriver di selenio e abbiamo scoperto in dettaglio una nuova scheda in selenio. Con l'aiuto di alcuni esempi, abbiamo anche imparato a aprire più schede nel Selenium Wedriver e alcune delle funzioni del selenio.