Joskus meidän on käytettävä HTML-taulukoissa olevia elementtejä (yleensä tekstejä). Web-suunnittelijan on kuitenkin hyvin harvoin annettava tunnus tai nimi-attribuutti tietylle taulukon solulle. Siksi emme voi käyttää tavallisia menetelmiä, kuten "By.id ()", "By.name ()" tai "By.cssSelector ()". Tässä tapauksessa luotettavin vaihtoehto on käyttää niitä "By.xpath ()" -menetelmällä.
Tässä opetusohjelmassa opit-
Kuinka kirjoittaa XPath taulukkoon
Sisäkkäisten taulukoiden käyttö
Attribuuttien käyttäminen predikaateina
Pikanäppäin: Käytä Tarkasta elementtiä seleniumin pöytiä varten
Kuinka kirjoittaa XPath taulukkoon
Harkitse alla olevaa HTML-koodia.
Käytämme XPathia saadaksemme solun sisäisen tekstin, joka sisältää tekstin "neljäs solu".
Vaihe 1 - Aseta ylätason elementti (taulukko)
WebDriverin XPath-paikannimet alkavat aina kaksinkertaisella eteenpäin viivalla "//" ja sen jälkeen peruselementillä . Koska olemme tekemisissä taulukoiden kanssa, emoelementin tulisi aina olla
-tunniste. XPath-paikannimen ensimmäisen osan pitäisi sen vuoksi alkaa "// taulukolla".
Vaihe 2 - Lisää alielementit
Välittömästi
-alueen alkuelementti on
, joten voimme sanoa, että
on
-alueen "lapsi". Ja
on
"vanhempi". Kaikki XPath-alatason elementit sijoitetaan vanhemman elementin oikealle puolelle erotettuna yhdellä eteenpäin viivalla "/" kuten alla oleva koodi.
Vaihe 3 - Lisää predikaatit
Elementti
sisältää kaksi
-tagia. Voimme nyt sanoa, että nämä kaksi
-tagia ovat
: n "lapsia". Näin ollen voimme sanoa, että
on molempien
-elementtien vanhempi.
Toinen asia, jonka voimme päätellä, on, että kaksi
-elementtiä ovat sisaruksia. Sisarukset tarkoittavat lapsielementtejä, joilla on sama vanhempi .
Päästäksesi haluamaasi
-kohtaan (johon on teksti "neljäs solu"), meidän on ensin käytettävä toista
eikä ensimmäistä. Jos kirjoitamme yksinkertaisesti "// table / tbody / tr", pääsemme ensimmäiseen
-tagiin.
Joten miten voimme käyttää toista
sitten? Vastaus tähän on käyttää predikaatteja .
Predikaatit ovat numeroita tai HTML-määritteitä, jotka on suljettu hakasulkeisiin "[]", jotka erottavat lapsielementin sisaruksistaan . Koska
, jota meidän on käytettävä, on toinen, käytämme predikaattina "[2]".
Jos emme käytä predikaattia, XPath käyttää ensimmäistä sisarusta. Siksi voimme käyttää ensimmäistä
käyttämällä kumpaakin näistä XPath-koodeista.
Vaihe 4 - Lisää menestyvät lapsielementit sopivilla predikaateilla
Seuraava elementti, jota meidän on käytettävä, on toinen
. Sovellamme vaiheista 2 ja 3 oppimiemme periaatteiden mukaisesti viimeistelemme XPath-koodin olevan alla olevan kaltainen.
Nyt kun meillä on oikea XPath-paikannin, voimme jo päästä haluamaasi soluun ja saada sen sisäisen tekstin alla olevan koodin avulla. Siinä oletetaan, että olet tallentanut yllä olevan HTML-koodin nimellä "newhtml.html" C-asemaan.
Samat periaatteet, joita on käsitelty edellä, koskevat sisäkkäisiä taulukoita. Sisäkkäiset taulukot ovat taulukoita, jotka sijaitsevat toisessa taulukossa . Alla on esimerkki.
Jotta pääsisimme soluun tekstillä "4-5-6" käyttämällä edellisen osan "// vanhempi / lapsi" ja predikaattikäsitteitä, meidän pitäisi pystyä keksimään alla oleva XPath-koodi.
Alla olevan WebDriver-koodin pitäisi pystyä noutamaan käyttämämme solun sisempi teksti.
Alla oleva lähtö vahvistaa, että sisätaulukkoon oli päästy.
Attribuuttien käyttäminen predikaateina
Jos elementti on kirjoitettu syvälle HTML-koodiin siten, että predikaatille käytettävää lukua on erittäin vaikea määrittää, voimme käyttää sen sijaan kyseisen elementin ainutlaatuista määritettä.
Alla olevassa esimerkissä "New York - Chicago" -solu sijaitsee syvällä Mercury Toursin kotisivun HTML-koodissa.
Tässä tapauksessa voimme käyttää taulukon yksilöllistä määritettä (leveys = "270") predikaattina. Määritteitä käytetään predikaatteina etuliittämällä ne @ -merkkiin . Yllä olevassa esimerkissä "New York - Chicago" -solu sijaitsee neljännen
ensimmäisessä
, joten XPath-matkansa tulisi olla alla esitetty.
Muista, että kun laitamme XPath-koodin Javaan, meidän tulisi käyttää pakomerkkiä taaksepäin kauttaviivalla "\" kaksoislainausmerkeissä "270": n molemmilla puolilla, jotta By.xpath (): n merkkijono-argumenttia ei lopeteta ennenaikaisesti .
Olemme nyt valmiita käyttämään kyseistä solua alla olevan koodin avulla.
By.xpath (): ta käytetään yleisesti taulukon elementtien käyttämiseen.
Jos elementti on kirjoitettu syvälle HTML-koodiin siten, että predikaatille käytettävää lukua on erittäin vaikea määrittää, voimme käyttää sen sijaan kyseisen elementin ainutlaatuista määritettä.
Määritteitä käytetään predikaatteina etuliittämällä ne @ -merkkiin.