Van, amikor olyan elemekhez (általában szövegekhez) kell hozzáférnünk, amelyek a HTML táblákban találhatók. Ugyanakkor nagyon ritkán fordul elő, hogy egy webdesigner azonosítót vagy névattribútumot adjon meg a táblázat egy bizonyos cellájához. Ezért nem használhatjuk a szokásos módszereket, például a "By.id ()", "By.name ()" vagy "By.cssSelector ()". Ebben az esetben a legmegbízhatóbb lehetőség a "By.xpath ()" módszerrel történő elérés.
Ebben az oktatóanyagban megtanulja-
Hogyan kell írni az XPath táblázatot
A beágyazott táblák elérése
Attribútumok használata predikátumként
Parancsikon: Használja az Elem ellenőrzése elemet a szelénben lévő táblák eléréséhez
Hogyan kell írni az XPath táblázatot
Vegye figyelembe az alábbi HTML kódot.
Az XPath használatával megkapjuk a "negyedik cella" szöveget tartalmazó cella belső szövegét.
1. lépés - Állítsa be a szülői elemet (táblázat)
Az XPath lokátorok a WebDriver programban mindig kettős előrejelzéssel kezdődnek "//", majd a szülő elem követi őket . Mivel táblákkal van dolgunk, a szülőelemnek mindig a
címkének kell lennie. XPath lokátorunk első részének tehát a "// table" betűvel kell kezdődnie.
2. lépés - Adja hozzá a gyermek elemeket
A közvetlenül a
alatt található elem a
, így azt mondhatjuk, hogy a
a
gyermeke. És a
a
"szülője" is. Az XPath összes gyermekeleme a szülőelemétől jobbra helyezkedik el, elválasztva egy előre "/" perjelgel, mint az alább látható kód.
3. lépés - Adjon hozzá predikátumokat
A
elem két
címkét tartalmaz. Most azt mondhatjuk, hogy ez a két
tag a
"gyermekei". Következésképpen azt mondhatjuk, hogy a
mindkét
elem szülője.
Egy másik dolog, amire következtethetünk, hogy a két
elem testvér. A testvérek olyan gyermekelemekre utalnak, amelyeknek ugyanaz a szülőjük .
A hozzáférni kívánt
(a "negyedik cella" szövegű) eléréséhez először a második
-hez kell hozzáférnünk , nem pedig az elsőhöz. Ha egyszerűen a "// tábla / tbody / tr" szót írjuk, akkor hozzáférünk az első
címkéhez.
Tehát hogyan érhetjük el a második
-t? Erre a Predikátusok használata a válasz .
Az predikátumok olyan számok vagy HTML attribútumok, amelyek szögletes zárójelek közé vannak zárva "[]", és megkülönböztetik a gyermek elemet a testvéreitől . Mivel a
, amihez hozzáférnünk kell, a második, ezért a "[2]" szót fogjuk használni állítmányként.
Ha nem használunk állítmányokat, az XPath hozzáfér az első testvérhez. Ezért elérhetjük az első
-t ezen XPath kódok bármelyikével.
4. lépés - Adja hozzá a sikeres gyermekelemeket a megfelelő predikátumokkal
A következő elem, amelyhez hozzáférnünk kell, a második
. A 2. és 3. lépésben tanult elveket alkalmazva véglegesítjük az XPath kódunkat, hogy az olyan legyen, mint az alábbiakban.
Most, hogy megvan a megfelelő XPath lokátor, máris elérhetjük a kívánt cellát, és megszerezhetjük annak belső szövegét az alábbi kód segítségével. Feltételezi, hogy a fenti HTML kódot "newhtml.html" néven mentette el a C meghajtóba.
A fent tárgyalt elvek a beágyazott táblákra is érvényesek. A beágyazott táblák egy másik táblázatban található táblák . Az alábbiakban egy példát mutatunk be.
A "4-5-6" szövegű cellához a "// szülő / gyermek" és az előző szakasz predikátumfogalmainak felhasználásával képesnek kell lennünk előállítani az alábbi XPath kódot.
Az alábbi WebDriver-kódnak képesnek kell lennie arra, hogy lekérje annak a cellának a belső szövegét, amelyhez hozzáférünk.
Az alábbi kimenet megerősíti, hogy a belső asztal sikeresen elérve volt.
Attribútumok használata predikátumként
Ha az elem a HTML-kód mélyére van írva, így az predikátumhoz használandó számot nagyon nehéz meghatározni, akkor az adott elem egyedi attribútumát használhatjuk.
Az alábbi példában a "New York-tól Chicagóig" cella a Mercury Tours honlap HTML-kódjának mélyén található.
Ebben az esetben predikátumként használhatjuk a táblázat egyedi attribútumát (width = "270"). Az attribútumokat predikátumként használják, ha a @ szimbólummal látják el . A fenti példában a "New York-tól Chicagóig" cella a negyedik
első
-ében található, ezért az XPath-nak az alábbiak szerint kell lennie.
Ne felejtse el, hogy amikor az XPath kódot a Java-ba helyezzük, akkor a "\" escape karaktert visszafelé kell perjeleznünk a "270" mindkét oldalán található dupla idézőjelekbe, hogy a By.xpath () karakterlánc argumentuma ne záruljon le idő előtt .
Most már készen állunk arra, hogy az alábbi kód segítségével hozzáférjünk ahhoz a cellához.
Parancsikon: Használja az Elem ellenőrzése elemet a szelénben lévő táblák eléréséhez
Ha egy elem számát vagy attribútumát rendkívül nehéz vagy lehetetlen megszerezni, akkor az XPath kód előállításának leggyorsabb módja az Elem ellenőrzése.
Tekintsük az alábbi példát a Mercury Tours honlapjáról.
1. lépés
Használja a Firebug programot az XPath kód megszerzéséhez.
2. lépés
Keresse meg az első "table" szülő elemet, és töröljön mindent a bal oldalán.
3. lépés
A kód fennmaradó részét tegye előre dupla előtöréssel "//", és másolja át a WebDriver kódjára.
Az alábbi WebDriver-kód sikeresen be tudja szerezni az elérni kívánt elem belső szövegét.
A By.xpath () általánosan használt táblázatelemek elérésére.
Ha az elem a HTML-kód mélyére van írva, így az predikátumhoz használandó számot nagyon nehéz meghatározni, akkor az adott elem egyedi attribútumát használhatjuk.
Az attribútumokat predikátumként használják, ha a @ szimbólummal látják el.
Használja az Ellenőrizze az elemet a szelénben lévő táblák eléréséhez