Hogyan fogja megtalálni az elemek lokátorait a weboldalon?
sobes.tech MI
Válasz az MI-től
Az elemek helyének meghatározásához a következő megközelítéseket használom, kezdve a legmegbízhatóbbakkal:
-
ID szerint: Az elem egyedi azonosítója. Ez a legstabilabb lehetőség, ha az ID-t a fejlesztők adták meg.
# Elem keresése ID szerint driver.find_element(By.ID, "element_id") -
Osztály szerint (osztálynév): Az
classattribútum értéke alapján történő keresés. Kevésbé lehet egyedi, mint az ID.# Elem keresése osztálynév szerint driver.find_element(By.CLASS_NAME, "element_class") -
CSS-szűrővel: Erőteljes eszköz, amely lehetővé teszi az elemek megtalálását különböző attribútumok, DOM-struktúra, pszeudo-osztályok stb. alapján. Rugalmassága összehasonlítható XPath-tal, de a szintaxis általában egyszerűbb és a végrehajtás gyorsabb.
# Elem keresése CSS-szűrővel driver.find_element(By.CSS_SELECTOR, "div.container > button[type='submit']") -
XPath szerint: Kérdezős nyelv az XML-dokumentumok (beleértve az HTML-t) csomópontjainak keresésére. Lehetővé teszi az elemek megtalálását pozíciójuk, attribútumaik, szövegeik alapján. Hasznos, ha az elemek nem rendelkeznek egyedi ID/osztályokkal vagy a szülő-gyermek navigációhoz. Kevésbé lehet hatékony, mint a CSS-szűrők.
# Elem keresése XPath szerint driver.find_element(By.XPATH, "//div[@class='form']//input[@name='password']") -
Tag név szerint: Minden olyan elem keresése, amely egy adott tag-et tartalmaz. Ritkán használják konkrét elem megtalálására, inkább listát ad.
# Minden div elem keresése driver.find_elements(By.TAG_NAME, "div") -
Link szöveg szerint (Link Text/Partial Link Text): Kifejezetten
<a>(hivatkozások) elemekhez.# Link keresése pontos szöveg szerint driver.find_element(By.LINK_TEXT, "Kattints ide") # Link keresése részleges szöveg szerint driver.find_element(By.PARTIAL_LINK_TEXT, "Kattints") -
Név szerint (Name): A
nameattribútum értéke alapján.# Elem keresése name attribútum szerint driver.find_element(By.NAME, "felhasználónév")
A helymeghatározó kiválasztásakor az alábbi elveket követem:
- Egyediség: A helymeghatározónak egyértelműen azonosítania kell a kívánt elemet.
- Stabilitás: Olyan helymeghatározókat választok, amelyek kevésbé változnak a dizájn vagy a oldal szerkezetének módosításakor (preferálom az ID-t és az attribútumokat, nem a pozíciós XPath-et).
- Átláthatóság és karbantarthatóság: A helymeghatározónak érthetőnek kell lennie.
CSS-szűrők vagy XPath használatakor igyekszem elkerülni a DOM mély vagy abszolút szerkezetétől való függést, inkább a legközelebbi egyedi szülőhöz vagy saját attribútumaikhoz viszonyítva keresek. A böngésző DOM-inspekciós eszközeit használom a helymeghatározók hibakereséséhez és érvényesítéséhez.