Ako zvoliť hodnotu z DropDown pomocou selénového webdriveru

Obsah:

Anonim

V tomto tutoriále sa dozvieme, ako zvládnuť DropDown v operáciách selénu a viacnásobného výberu.

Vyberte Trieda na seléne

Select Class v Selén je metóda používaná na implementáciu značky HTML SELECT. Značka html select poskytuje pomocné metódy na výber a zrušenie výberu prvkov. Trieda Select je bežná trieda, takže na vytvorenie objektu sa používa kľúčové slovo New, ktoré určuje umiestnenie webového prvku.

Vyberte možnosť z rozbaľovacieho zoznamu

Nasleduje postup krok za krokom, ako zvoliť hodnotu z rozbaľovacej ponuky selénu:

Pred manipuláciou s rozbaľovacím zoznamom v seléne a kontrolou rozbaľovacích políčok musíme urobiť dve nasledujúce veci:

  1. Importujte balík org.openqa.selenium.support.ui. Vyberte
  2. Rozbaľovacie políčko vytvorte ako objekt a vyberte ho v selenickom webovom ovládači

Napríklad choďte na registračnú stránku Mercury Tours (http://demo.guru99.com/test/newtours/register.php) a všimnite si tam rozbaľovacie políčko „Krajina“.

Krok 1

Importujte balík „Vybrať“.

Krok 2

Deklarujte prvok rozbaľovacej ponuky ako inštanciu triedy Select. V príklade nižšie sme túto inštanciu pomenovali ako „drpCountry“.

Krok 3

Teraz môžeme začať ovládať program „drpCountry“ pomocou ktorejkoľvek z dostupných metód výberu, pomocou ktorej vyberieme rozbaľovaciu ponuku na seléne. Ukážkový kód uvedený nižšie vyberie možnosť „ANTARCTICA“.

Výber položiek vo viacerých prvkoch SELECT

Môžeme tiež použiť metódu selectByVisibleText () pri výbere viacerých možností v prvku multi SELECT. Ako príklad si vezmeme http://jsbin.com/osebed/2 ako základnú adresu URL. Obsahuje rozbaľovaciu ponuku, ktorá umožňuje viacnásobný výber súčasne.

Nasledujúci kód vyberie prvé dve možnosti pomocou metódy selectByVisibleText ().

Vyberte položku Metódy

Nasleduje najbežnejšia metóda použitá v rozbaľovacom zozname selénu.

Metóda Popis
selectByVisibleText () a deselectByVisibleText ( ) Príklad:
  • Vyberie / zruší výber možnosti, ktorá zobrazí text zodpovedajúci parametru.
  • Parameter : Presne zobrazený text konkrétnej možnosti
selectByValue () a deselectByValue ( ) Príklad:
  • Vyberie / zruší výber možnosti, ktorej atribút „value“ sa zhoduje so zadaným parametrom.
  • Parameter : hodnota atribútu „value“
  • Pamätajte, že nie všetky možnosti rozbaľovacej ponuky majú rovnaký text a „hodnotu“, ako v príklade nižšie.
selectByIndex () a deselectByIndex ( ) Príklad:
  • Vyberie / zruší výber možnosti pri danom indexe.
  • Parameter : index možnosti, ktorú chcete vybrať.
isMultiple () Príklad:
  • Vráti hodnotu TRUE, ak prvok rozbaľovacej ponuky umožňuje viac výberov súčasne; FALSE, ak je to inak.
  • Nie sú potrebné žiadne parametre
deselectAll () Príklad:
  • Vymaže všetky vybraté položky. Toto platí iba vtedy, keď rozbaľovací prvok podporuje viacnásobný výber.
  • Nie sú potrebné žiadne parametre

Tu je celý kód

balíček newpackage;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;importovať org.openqa.selenium.support.ui.Select;import org.openqa.selenium.By;verejná trieda accessDropDown {public static void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");Reťazec baseURL = "http://demo.guru99.com/test/newtours/register.php";Ovládač WebDriver = nový FirefoxDriver ();driver.get (baseURL);Select drpCountry = new Select (driver.findElement (By.name ("country")));drpCountry.selectByVisibleText ("ANTARCTICA");// Výber položiek vo viacerých prvkoch SELECTdriver.get ("http://jsbin.com/osebed/2");Vyberte ovocie = nové Vyberte (driver.findElement (By.id ("ovocie")));ovocie.selectByVisibleText ("banán");ovocie.selectByIndex (1);}}

Zhrnutie

Prvok Velenie Popis
Rozbaľovací zoznam selectByVisibleText () / deselectByVisibleText () vyberie / zruší výber možnosti podľa zobrazeného textu
selectByValue () / deselectByValue () vyberie / zruší výber možnosti podľa hodnoty jej atribútu „value“
selectByIndex () / deselectByIndex () vyberie / zruší výber možnosti podľa jej indexu
isMultiple () vráti TRUE, ak prvok rozbaľovacej ponuky umožňuje viacnásobný výber súčasne; FALSE, ak je to inak
odznačiť všetko() zruší výber všetkých predtým vybratých možností

Ak chcete ovládať rozbaľovacie polia, musíte najskôr importovať balík org.openqa.selenium.support.ui.Select a potom vytvoriť inštanciu Select.