Selettore CSS inserito Selenium

Cos'è un selettore CSS?

Selettori CSS in Selenium sono modelli di stringa utilizzati per identificare un elemento in base a una combinazione di tag HTML, id, classe e attributi. Individuazione tramite selettori CSS in Selenium è più complicato dei metodi precedenti, ma è la strategia di localizzazione avanzata più comune Selenium utenti perché può accedere anche a quegli elementi che non hanno ID o nome.

Selettori CSS in Selenium hanno molti formati, ma ci concentreremo solo su quelli più comuni. I diversi tipi di localizzatore CSS in Selenium IDE

  • Etichetta e documento d'identità
  • Etichetta e classe
  • Etichetta e attributo
  • Tag, classe e attributo
  • Testo interno

Quando utilizziamo questa strategia, anteponiamo sempre il Target box con “css=" come verrà mostrato negli esempi seguenti.

tag e ID – Selettore CSS

Di nuovo, in questo esempio useremo la casella di testo Email di Facebook. Come puoi ricordare, ha un ID di "email" e vi abbiamo già avuto accesso nella sezione "Localizzazione tramite ID". Questa volta, useremo un Selenium Selettore CSS con ID per accedere allo stesso elemento.

Sintassi

css=tag#id

  • tag = il tag HTML dell'elemento a cui si accede
  • # = il segno del cancelletto. Questo dovrebbe essere sempre presente quando si utilizza a Selenium Selettore CSS con ID
  • id = l'ID dell'elemento a cui si accede

Tieni presente che l'ID è sempre preceduto da un cancelletto (#).

Passo 1) Accedere a www.facebook.comUtilizzando Firebug, esamina la casella di testo "Email o telefono".

A questo punto, prendi nota che il tag HTML è “input” e il suo ID è “email”. Quindi la nostra sintassi sarà “css=input#email”.

Tag e ID - Selettore CSS

Passo 2) Inserisci “css=input#email” nel Target scatola di Selenium IDE e fare clic sul pulsante Trova. Selenium L'IDE dovrebbe essere in grado di evidenziare quell'elemento.

Tag e ID - Selettore CSS

tag e classe – Selettore CSS

Selettore CSS inserito Selenium l'utilizzo di un tag HTML e un nome di classe è simile all'utilizzo di un tag e di un ID, ma in questo caso viene utilizzato un punto (.) anziché un cancelletto.

Sintassi

css=tag.class

  • tag = il tag HTML dell'elemento a cui si accede
  • . = il segno del punto. Questo dovrebbe essere sempre presente quando si utilizza un selettore CSS con classe
  • class = la classe dell'elemento a cui si accede

Passo 1) Vai alla pagina dimostrativa https://demo.guru99.com/test/facebook.html e usa Firebug per ispezionare la casella di testo "Email or Phone". Nota che il suo tag HTML è "input" e la sua classe è "inputtext".

Tag e classe - Selettore CSS

Passo 2) In Selenium IDE, inserisci "css=input.inputtext" nel file Target casella e fare clic su Trova. Selenium L'IDE dovrebbe essere in grado di riconoscere la casella di testo E-mail o Telefono.

Tag e classe - Selettore CSS

Tieni presente che quando più elementi hanno lo stesso tag HTML e lo stesso nome, verrà riconosciuto solo il primo elemento nel codice sorgenteUtilizzando Firebug, esamina la casella di testo Password su Facebook e nota che ha lo stesso nome della casella di testo Email o Telefono.

Tag e classe - Selettore CSS

Il motivo per cui nell'illustrazione precedente è stata evidenziata solo la casella di testo Email o Telefono è che si trova per prima nel codice sorgente della pagina Facebook.

Tag e classe - Selettore CSS

tag e attributo – Selettore CSS

Questa strategia utilizza il tag HTML e un attributo specifico dell'elemento a cui accedere.

Sintassi

css=tag[attribute=value]

  • tag = il tag HTML dell'elemento a cui si accede
  • [ e ] = parentesi quadre all'interno delle quali verrà inserito un attributo specifico e il suo valore corrispondente
  • attributo = l'attributo da utilizzare. È consigliabile utilizzare un attributo univoco per l'elemento come un nome o un ID.
  • valore = il valore corrispondente dell'attributo scelto.

Passo 1) Accedere a Mercury Pagina di registrazione dei tour https://demo.guru99.com/test/newtours/register.php e ispeziona la casella di testo "Cognome". Prendi nota del suo tag HTML ("input" in questo caso) e del suo nome ("lastName").

Tag e attributi - Selettore CSS

Passo 2) In Selenium IDE, inserisci "css=input[nome=cognome]" nel file Target casella e fare clic su Trova. Selenium L'IDE dovrebbe riuscire ad accedere correttamente alla casella Cognome.

Tag e attributi - Selettore CSS

Quando più elementi hanno lo stesso tag e attributo HTML, verrà riconosciuto solo il primo. Questo comportamento è simile all'individuazione degli elementi utilizzando i selettori CSS con lo stesso tag e classe.

tag, classe e attributo: selettore CSS

Sintassi

css=tag.class[attribute=value]

  • tag = il tag HTML dell'elemento a cui si accede
  • . = il segno del punto. Questo dovrebbe essere sempre presente quando si utilizza un selettore CSS con classe
  • class = la classe dell'elemento a cui si accede
  • [ e ] = parentesi quadre all'interno delle quali verrà inserito un attributo specifico e il suo valore corrispondente
  • attributo = l'attributo da utilizzare. È consigliabile utilizzare un attributo univoco per l'elemento come un nome o un ID.
  • valore = il valore corrispondente dell'attributo scelto.

Passo 1) Vai alla pagina dimostrativa https://demo.guru99.com/test/facebook.html e usa Firebug per ispezionare le caselle di input 'Email or Phone' e 'Password'. Prendi nota del loro tag HTML, della classe e degli attributi. Per questo esempio, selezioneremo i loro attributi 'tabindex'.

Tag, classe e attributo: selettore CSS

Passo 2) Accederemo prima alla casella di testo "Email o telefono". Quindi, useremo un valore tabindex pari a 1. Inserisci "css=input.inputtext[tabindex=1]" in Selenium IDE Target casella e fare clic su Trova. La casella di input "Email o telefono" dovrebbe essere evidenziata.

Tag, classe e attributo: selettore CSS

Passo 3) Per accedere alla casella di immissione della password, basta sostituire il valore dell'attributo tabindex. Inserire "css=input.inputtext[tabindex=2]" nel Target casella e fare clic sul pulsante Trova. Selenium L'IDE deve essere in grado di identificare correttamente la casella di testo Password.

Tag, classe e attributo: selettore CSS

testo interno – Selettore CSS

Come avrai notato, alle etichette HTML raramente vengono forniti attributi id, nome o classe. Quindi, come possiamo accedervi? La risposta è attraverso l’uso dei loro testi interiori. I testi interni sono gli effettivi modelli di stringhe che l'etichetta HTML mostra sulla pagina.

Sintassi

css=tag:contains("inner text")

  • tag = il tag HTML dell'elemento a cui si accede
  • testo interno = il testo interno dell'elemento

Passo 1) Accedere a Mercury Home page dei tour https://demo.guru99.com/test/newtours/ e usa Firebug per indagare sull'etichetta "Password". Prendi nota del suo tag HTML (che in questo caso è "font") e nota che non ha attributi class, id o name.

Testo interno: selettore CSS

Passo 2) Tipo css=font:contains(“Password:”) ai miglioramenti Selenium IDE Target casella e fare clic su Trova. Selenium L'IDE dovrebbe essere in grado di accedere all'etichetta Password come mostrato nell'immagine seguente.

Testo interno: selettore CSS

Passo 3) Questa volta sostituisci il testo interno con "Boston" in modo che il tuo Target diventerà ora “css=font:contains(“Boston”)”. Fai clic su Trova. Dovresti notare che l'etichetta “Boston to San Francisco” diventa evidenziata. Questo ti mostra che Selenium L'IDE può accedere ad un'etichetta lunga anche se hai appena indicato la prima parola del suo testo interno.

Testo interno: selettore CSS

Sommario

Sintassi per la localizzazione tramite utilizzo del selettore CSS

Metodo Target Sintassi Esempio
Etichetta e documento d'identità css=tag#id css=input#email
Etichetta e classe css=tag.class css=input.testoinput
Etichetta e attributo css=tag[attributo=valore] css=input[nome=cognome]
Tag, classe e attributo css=tag.class[attributo=valore] css=input.inputtext[tabindex=1]