Hur man markerar kryssrutan och radioknappen i Selen WebDriver

Innehållsförteckning:

Anonim

I denna handledning kommer vi att se hur man identifierar följande formelement

  • Radio knapp
  • Kryssruta

Radio knapp

Du kan också slå på radioknappar genom att använda metoden click ().

Använd http://demo.guru99.com/test/radio.html för att träna, se att radio1.click () växlar på alternativknappen "Option1". radio2.click () växlar mellan alternativknappen "Option2" och lämnar "Option1" omarkerad.

Kryssruta

Att slå på / av en kryssruta görs också med hjälp av klickmetoden () .

Koden nedan klickar på kryssrutan "Håll mig inloggad" på Facebook två gånger och matar sedan ut resultatet som SANT när det slås på och FALSKT om det är avstängt.

metoden isSelected () används för att veta om kryssrutan är aktiverad eller inaktiverad.

Här är ett annat exempel: http://demo.guru99.com/test/radio.html

Komplett kod

Här är den fullständiga arbetskoden

importera org.openqa.selenium.By;importera org.openqa.selenium.WebDriver;importera org.openqa.selenium.chrome.ChromeDriver;importera org.openqa.selenium. *;offentlig klassformulär {public static void main (String [] args) {// deklaration och instantiering av objekt / variablerSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver-drivrutin = ny ChromeDriver ();driver.get ("http://demo.guru99.com/test/radio.html");WebElement radio1 = driver.findElement (By.id ("vfb-7-1"));WebElement radio2 = driver.findElement (By.id ("vfb-7-2"));// Radioknapp1 har valtsradio1.click ();System.out.println ("Alternativ för alternativknapp 1 valt");// Radioknapp1 är avmarkerad och Radioknapp2 är valdradio2.click ();System.out.println ("Alternativ för alternativknapp 2 valt");// Välj CheckBoxWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Detta växlar kryssrutanoption1.click ();// Kontrollera om kryssrutan är aktiveradif (option1.isSelected ()) {System.out.println ("Kryssrutan är aktiverad");} annat {System.out.println ("Kryssrutan är avstängd");}// Markera kryssrutan och använd isSelected Methoddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));för (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Facebook kvarstår kryssrutans status är -" + chkFBPersist.isSelected ());}//driver.close ();}}

Felsökning

Om du stöter på NoSuchElementException () när du hittar element betyder det att elementet inte finns på sidan vid den punkt där webbdrivrutinen öppnade sidan.

  1. Kontrollera din sökare igen med Firepath eller Inspect Element i Chrome.
  2. Kontrollera om värdet du använde i koden skiljer sig från värdet för elementet i Firepath nu.
  3. Vissa egenskaper är dynamiska för få element. Om du tycker att värdet är annorlunda och förändras dynamiskt, överväg att använda By.xpath () eller By.cssSelector () som är mer pålitliga men komplexa sätt.
  4. Ibland kan det också vara ett vänteproblem, dvs. webbdrivrutinen körde din kod redan innan sidan laddades helt, etc.
  5. Lägg till en väntan före findElement () med implicit eller uttrycklig väntan.

Sammanfattning

  • Tabellen nedan sammanfattar kommandona för åtkomst till varje typ av element som diskuterats ovan
Element Kommando Beskrivning
Kryssruta, radioknapp klick() används för att slå på / av elementet