WebElement be Selenium
โก Okos รถsszefoglalรณ
WebElement be Selenium minden ลฑrlapvezรฉrlลt programozhatรณ objektumkรฉnt รกbrรกzol, lehetลvรฉ tรฉve a tesztelลk szรกmรกra, hogy szรถvegmezลkkel, jelรถlลnรฉgyzetekkel, vรกlasztรณgombokkal รฉs submit elemekkel interakciรณba lรฉpjenek a findElement, sendKeys, click, clear รฉs submit metรณdusok hasznรกlatรกval. Java kรณdpรฉldรกk.

WebElement be Selenium
Az ลฑrlapok az alapvetล webes elemek, amelyek informรกciรณkat rรถgzรญtenek a weboldal lรกtogatรณitรณl. A webes ลฑrlapok kรผlรถnbรถzล grafikus felhasznรกlรณi felรผlet (GUI) vezรฉrlลket tartalmaznak, pรฉldรกul szรถvegmezลket, jelszรณmezลket, jelรถlลnรฉgyzeteket, vรกlasztรณgombokat, legรถrdรผlล menรผket รฉs fรกjlbeviteli lehetลsรฉgeket.
Ez az oktatรณanyag elmagyarรกzza, hogyan fรฉrhet hozzรก az egyes ลฑrlapelemekhez a kรถvetkezล hasznรกlatรกval: Selenium WebDriver with Java. Selenium minden ลฑrlapelemet a WebElement objektumakรฉnt tartalmaz. API-t biztosรญt az elemek megkeresรฉsรฉhez รฉs a velรผk valรณ mลฑveletekhez, beleรฉrtve a szรถvegbevitelt, a gombokra kattintรกst รฉs az ลฑrlapok elkรผldรฉsรฉt. Az alรกbbi szakaszok az egyes ลฑrlapelemekhez elรฉrhetล metรณdusokat ismertetik.
A WebElement bemutatรกsa, findElement(), findElements()
Selenium A WebDriver egy egyszerลฑ ลฑrlapelemet reprezentรกl a kรถvetkezล objektumakรฉnt: WebElem.
A WebDriver az ลฑrlapelemeket a webelem kรผlรถnbรถzล tulajdonsรกgainak, pรฉldรกul az azonosรญtรณnak, nรฉvnek รฉs osztรกlynak a felhasznรกlรกsรกval azonosรญtja. XPath, Cรญmkenรฉv, CSS-szelektorok รฉs hivatkozรกsszรถveg.
A WebDriver a kรถvetkezล kรฉt WebElement metรณdust biztosรญtja az elemek keresรฉsรฉhez:
- findElement() โ egyetlen webes elemet talรกl, รฉs azt WebElementkรฉnt adja vissza Selenium tรกrgy.
- FindElements() โ a helymeghatรกrozรณ feltรฉteleknek megfelelล WebElement objektumok listรกjรกt adja vissza.
Az alรกbbi pรฉlda bemutatja, hogyan lehet egyetlen elemet, egy weboldalon talรกlhatรณ szรถvegmezลt WebElement objektumkรฉnt lekรฉrni a findElement() metรณdus hasznรกlatรกval. A tรถbb elem keresรฉsรฉre szolgรกlรณ findElements() metรณdust a kรฉsลbbi oktatรณanyagokban tรกrgyaljuk.
Step 1) Importรกlja a WebElement objektumok lรฉtrehozรกsรกhoz szรผksรฉges csomagot.
Step 2) A WebDriver osztรกlyon elรฉrhetล findElement() metรณdus meghรญvรกsรกval kรฉrhetรผnk le egy WebElement objektumot, ahogy az alรกbb lรกthatรณ.
Selenium Szรถveg bevitele
A beviteli mezลk a kรถvetkezล kรฉt tรญpus valamelyikรฉre utalnak:
- Szรถvegmezลk - Selenium beviteli szรถvegmezลk, amelyek beรญrt รฉrtรฉkeket fogadnak el, รฉs pontosan รบgy jelenรญtik meg azokat, ahogyan beรญrtรกk.
- Jelszรณmezลk โ szรถvegmezลk, amelyek beรญrt รฉrtรฉkeket fogadnak el, de speciรกlis karakterek (รกltalรกban pontok vagy csillagok) sorozatakรฉnt maszkoljรกk azokat, hogy elrejtsรฉk a bizalmas bemenetet.
Helymeghatรกrozรณk
A findElement() metรณdus egyetlen paramรฉtert fogad el, ami egy lokรกtor, amely az elemre mutat. Kรผlรถnbรถzล lokรกtorok, mint pรฉldรกul a By.id(), By.name(), By.xpath() รฉs By.cssSelector(), az oldalon talรกlhatรณ elemek tulajdonsรกgaik, pรฉldรกul id, name vagy path alapjรกn keresnek rรกjuk.
Hasznรกlhatsz olyan bลvรญtmรฉnyeket, mint a FirePath, hogy lekรฉrd az elemek azonosรญtรณjรกt, xpath-jรกt รฉs egyรฉb lokรกtorรฉrtรฉkeit.
A pรฉldaoldal segรญtsรฉgรฉvel https://demo.guru99.com/test/login.htmlAz alรกbbi kรณd az โE-mail cรญmโ szรถvegmezลt az azonosรญtรณkeresล, a โJelszรณโ mezลt pedig a nรฉvkeresล segรญtsรฉgรฉvel keresi meg.
- Az e-mail szรถvegmezล az azonosรญtรณ mellett talรกlhatรณ.
- A jelszรณ mezล a nรฉv mellett talรกlhatรณ.
kรผldje be a kulcsokat Selenium
sendKeys() fรผggvรฉny Selenium egy metรณdus, amely szerkeszthetล tartalom bevitelรฉre szolgรกl szรถveg- รฉs jelszรณmezลkbe a teszt vรฉgrehajtรกsa sorรกn. Ezeket a mezลket lokรกtorok, pรฉldรกul nรฉv, osztรกly รฉs azonosรญtรณ azonosรญtjรกk. A metรณdus a WebElement objektumon รฉrhetล el. A type metรณdussal ellentรฉtben a sendKeys() nem cserรฉli le a szรถvegmezลben lรฉvล meglรฉvล szรถveget.
Hogyan รญrjunk be szรถveget Selenium
Szรถveg beรญrรกsรกhoz szรถvegmezลkbe รฉs jelszรณmezลkbe a sendKeys() metรณdus รฉrhetล el a WebElementben a Selenium.
Ugyanazt a pรฉldรกt hasznรกlva https://demo.guru99.com/test/login.html, az alรกbbi kรณdrรฉszlet megkeresi a szรถvegmezลt รฉs a jelszรณ mezลt, รฉs beรญrja a szรถveget Selenium.
- Keresd meg az โE-mail cรญmโ szรถvegmezลt az azonosรญtรณkeresล segรญtsรฉgรฉvel.
- Keresd meg a โJelszรณโ mezลt a nรฉvkeresล segรญtsรฉgรฉvel.
- A gombbal รญrjon be szรถveget az โE-mail cรญmโ mezลbe Selenium sendKeys metรณdus.
- รrjon be egy jelszรณt a โPasswordโ mezลbe a sendKeys() metรณdussal.
รrtรฉkek tรถrlรฉse a bevitelben Boxes
Az egyรฉrtelmลฑ() A metรณdus tรถrli a beviteli mezลben talรกlhatรณ szรถveget. Ennek a metรณdusnak nincs szรผksรฉge paramรฉterre. Az alรกbbi kรณdrรฉszlet tรถrli a szรถveget az E-mail vagy Jelszรณ mezลkbลl.
Selenium Kattintson a Gombokra
Az Selenium A click gombra a click() metรณdussal lehet hozzรกfรฉrni.
A fenti pรฉldรกban
- Keresd meg a Bejelentkezรฉs gombot.
- A hitelesรญtรฉshez kattintson a webhely bejelentkezรฉsi oldalรกn talรกlhatรณ โBejelentkezรฉsโ gombra.
Selenium Bekรผldล gombok
A kรผldรฉs gombok a teljes ลฑrlapot elkรผldik a szerverre. Meghรญvhatod a click() metรณdust a WebElement elemen, ahogy fentebb lรกthatรณ, vagy hasznรกlhatod a submit() metรณdust az ลฑrlap bรกrmely elemรฉn, vagy magรกn a kรผldรฉs gombon.
A submit() fรผggvรฉny hasznรกlatakor a WebDriver a DOM-ban keresi meg az elemhez tartozรณ ลฑrlapot, majd elindรญtja a submit fรผggvรฉnyt.
teljes Code
Itt a teljes mลฑkรถdล kรณd.
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.*;
public class Form {
public static void main(String[] args) {
// declaration and instantiation of objects/variables
System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
String baseUrl = "https://demo.guru99.com/test/login.html";
driver.get(baseUrl);
// Get the WebElement corresponding to the Email Address(TextField)
WebElement email = driver.findElement(By.id("email"));
// Get the WebElement corresponding to the Password Field
WebElement password = driver.findElement(By.name("passwd"));
email.sendKeys("abcd@gmail.com");
password.sendKeys("abcdefghlkjl");
System.out.println("Text Field Set");
// Deleting values in the text box
email.clear();
password.clear();
System.out.println("Text Field Cleared");
// Find the submit button
WebElement login = driver.findElement(By.id("SubmitLogin"));
// Using click method to submit form
email.sendKeys("abcd@gmail.com");
password.sendKeys("abcdefghlkjl");
login.click();
System.out.println("Login Done with Click");
// Using submit method to submit the form. Submit used on password field
driver.get(baseUrl);
driver.findElement(By.id("email")).sendKeys("abcd@gmail.com");
driver.findElement(By.name("passwd")).sendKeys("abcdefghlkjl");
driver.findElement(By.id("SubmitLogin")).submit();
System.out.println("Login Done with Submit");
// driver.close();
}
}
Hibaelhรกrรญtรกs
Ha a NoSuchElementException() hibรกba รผtkรถzik az elemek keresรฉse sorรกn, akkor az elem nincs jelen az oldalon abban a pillanatban, amikor a WebDriver hozzรกfรฉrt hozzรก.
- Ellenลrizd รบjra a helymeghatรกrozรณdat a FirePath vagy a Chrome Elem vizsgรกlata opciรณjรกval.
- Ellenลrizd, hogy a kรณdban hasznรกlt รฉrtรฉk eltรฉr-e az elem FirePath-ban lรกthatรณ aktuรกlis รฉrtรฉkรฉtลl.
- Bizonyos elemek esetรฉben bizonyos attribรบtumok dinamikusak. Ha egy รฉrtรฉk dinamikusan vรกltozik, vรกlts a By.xpath() vagy a By.cssSelector() metรณdusra, amelyek megbรญzhatรณbbak, de valamivel รถsszetettebbek.
- Elลfordul, hogy a problรฉma egy vรกrakozรกsi รกllapot; a WebDriver vรฉgrehajthatja a kรณdot, mielลtt az oldal betรถltลdne.
- Adjon hozzรก egy vรกrakozรกst a findElement() elลtt implicit vagy explicit vรกrakozรกssal.
รsszegzรฉskรฉnt
- Az alรกbbi tรกblรกzat รถsszefoglalja a fent tรกrgyalt egyes elemtรญpusok elรฉrรฉsรฉhez szรผksรฉges parancsokat.
| Elem | parancs | Leรญrรกs |
|---|---|---|
| Bemenet Box | sendKeys() | รrtรฉkek szรถvegmezลkbe valรณ bevitelรฉre szolgรกl. |
| egyรฉrtelmลฑ() | Szรถvegmezลk aktuรกlis รฉrtรฉkรฉnek tรถrlรฉsรฉre szolgรกl. | |
| Linkek | kattints() | A hivatkozรกsra kattintรกs รฉs az oldal betรถltรฉsรฉnek befejezลdรฉsรฉre valรณ vรกrakozรกs a kรถvetkezล parancs vรฉgrehajtรกsa elลtt. |
| Kรผldรฉs gomb | Bekรผldรฉs() | Az ลฑrlap elkรผldรฉsรฉre szolgรกl a szรผlลลฑrlap elkรผldรฉsi kezelลjรฉnek aktivรกlรกsรกval. |
- A WebDriver lehetลvรฉ teszi egynรฉl tรถbb lehetลsรฉg kivรกlasztรกsรกt tรถbb SELECT elemben.
- A submit() metรณdust az ลฑrlap bรกrmely elemรฉn hasznรกlhatod. A WebDriver automatikusan elindรญtja az elemhez tartozรณ ลฑrlap submit fรผggvรฉnyรฉt.






