Mis on lingi tekst seleenis?
Link Tekst Seleen identifitseerimiseks kasutatakse hüperlinke veebilehe. See määratakse kindlaks ankrumärgi abil. Veebilehel hüperlingi loomiseks võime kasutada ankrumärgendit, millele järgneb link Tekst.
Kriteeriumile vastavad lingid
Lingidele pääseb juurde nende lingiteksti täpse või osalise vaste abil. Allpool toodud näited pakuvad stsenaariume, kus oleks mitu vastet, ja selgitavad, kuidas WebDriver nendega hakkama saab.
Selles õpetuses õpime saadaolevaid meetodeid linkide leidmiseks ja neile juurdepääsu saamiseks Webdriveri abil. Samuti arutame linkide kasutamisel mõningaid levinumaid probleeme ja arutame nende lahendamist.
Siit saate teada -
- Linkidele juurdepääs, kasutades täpset tekstivastet: By.linkText ()
- Linkidele juurdepääs osalise tekstivaste abil: By.partialLinkText ()
- Kuidas saada mitu linki sama lingitekstiga
- Suur- ja väiketäht lingi teksti puhul
- Lingid ploki välisküljel ja sees
Linkidele juurdepääs, kasutades täpset tekstivastet: By.linkText ()
Lingidele juurdepääs nende täpse lingiteksti abil toimub By.linkText () meetodi kaudu . Kui on aga kaks linki, millel on sama lingitekst, pääseb see meetod juurde ainult esimesele. Mõelge allpool olevale HTML-koodile
Kui proovite allolevat WebDriveri koodi käivitada, pääsete juurde esimesele "klõpsake siin" lingile
Kood:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;avalik klass MyClass {public staatiline void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/link.html";System.setProperty ("veebidraiver.chrome.driver", "G: \\ chromedriver.exe");WebDriveri draiver = uus ChromeDriver ();draiver.get (baseUrl);draiver.findElement (By.linkText ("klõpsake siin")). klõpsake ();System.out.println ("lehe pealkiri on: + draiver.getTitle ());juht.ulge ();}}
See toimib järgmiselt.
Selle tulemusena suunatakse teid automaatselt Google'i.
Linkidele juurdepääs osalise tekstivaste abil: By.partialLinkText ()
Lingidele juurde pääsemine, kasutades nende lingiteksti osa, toimub By.partialLinkText () meetodi abil. Kui määrate osalise lingiteksti, millel on mitu vastet, pääseb juurde ainult esimesele vastele. Mõelge allpool olevale HTML-koodile.
Alloleva WebDriveri koodi käivitamisel suunatakse teid ikkagi Google'i.
Kood:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;avalik klass P1 {public staatiline void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/accessing-link.html";System.setProperty ("veebidraiver.chrome.driver", "G: \\ chromedriver.exe");WebDriveri draiver = uus ChromeDriver ();draiver.get (baseUrl);driver.findElement (By.partialLinkText ("siin")). klõpsake ();System.out.println ("Lehe pealkiri on: + draiver.getTitle ());juht.ulge ();}}
Kuidas saada mitu linki sama lingitekstiga
Niisiis, kuidas ülaltoodud probleemist mööda saada? Kui meil on sama lingitekstiga mitu linki ja me soovime juurde pääseda lingidele, mis pole esimesed, siis kuidas me sellega edasi tegeleme?
Sellistel juhtudel kasutatakse tavaliselt erinevaid lokaatoreid ... By.xpath (), By.cssSelector () või By.tagName ().
Kõige sagedamini kasutatakse By.xpath (). See on kõige usaldusväärsem, kuid tundub keeruline ja loetamatu ka.
Suur- ja väiketäht lingi teksti puhul
By.linkText () ja By.partialLinkText () parameetrid on mõlemad tõstutundlikud, mis tähendab, et suurtähed on olulised. Näiteks Mercury Toursi kodulehel on kaks linki, mis sisaldavad teksti "egis" - üks on ülemisest menüüst leitud link "REGISTRI" ja teine on paremas alanurgas olev link "Registreeru siin" lehe.
Kuigi mõlemad lingid sisaldavad tähemärkide järjestust "egis", on üks meetod "By.partialLinkText ()" juurdepääs neile kahele lingile eraldi, sõltuvalt tähtede suurtähest. Vaadake allpool näidiskoodi.
Kood
public staatiline void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("veebidraiver.chrome.driver", "G: \\ chromedriver.exe");WebDriveri draiver = uus ChromeDriver ();draiver.get (baseUrl);String theLinkText = driver.findElement (Autor.partialLinkText ("egis")).getText ();System.out.println (theLinkText);theLinkText = driver.findElement (Autor.partialLinkText ("EGIS")).getText ();System.out.println (theLinkText);juht.ulge ();}