Kas yra nuorodos tekstas selene?
„ Selen“ nuorodos tekstas naudojamas hipersaitams tinklalapyje identifikuoti. Tai nustatoma inkaro žymės pagalba. Norėdami sukurti hipersaitus tinklalapyje, galime naudoti inkaro žymą, po kurios yra nuoroda Tekstas.
Nuorodos, atitinkančios kriterijų
Nuorodas galima pasiekti naudojant tikslią arba dalinę jų nuorodų teksto atitiktį. Toliau pateiktuose pavyzdžiuose pateikiami scenarijai, kai būtų kelios atitikties, ir paaiškinama, kaip „WebDriver“ elgsis su jomis.
Šioje pamokoje sužinosime esamus metodus, kaip rasti ir pasiekti nuorodas naudojant „Webdriver“. Be to, aptarsime keletą bendrų problemų, su kuriomis susiduriama prisijungiant prie nuorodų, ir toliau aptarsime, kaip jas išspręsti.
Štai ką jūs sužinosite
- Prieiga prie nuorodų naudojant tikslią teksto atitiktį: By.linkText ()
- Prieiga prie nuorodų naudojant dalinę teksto atitiktį: By.partialLinkText ()
- Kaip gauti kelias nuorodas su tuo pačiu nuorodos tekstu
- Didžiosios ir mažosios raidės nuorodos tekstui
- Nuorodos bloko išorėje ir viduje
Prieiga prie nuorodų naudojant tikslią teksto atitiktį: By.linkText ()
Prieiga prie nuorodų naudojant jų tikslų tekstą atliekama naudojant By.linkText () metodą . Tačiau jei yra dvi nuorodos, kurių nuorodų tekstas yra tas pats, šis metodas pasieks tik pirmąją. Apsvarstykite toliau pateiktą HTML kodą
Kai bandysite paleisti žemiau esantį „WebDriver“ kodą, pasieksite pirmąją nuorodą „spustelėkite čia“
Kodas:
importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;viešoji klasė „MyClass“ {public static void main (String [] argumentuoja) {Eilutė baseUrl = "http://demo.guru99.com/test/link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");„WebDriver“ tvarkyklė = nauja „ChromeDriver“ ();vairuotojas.get (baseUrl);driver.findElement (By.linkText ("spustelėkite čia")). spustelėkite ();System.out.println ("puslapio pavadinimas yra: + tvarkyklė.getTitle ());vairuotojas.mesti ();}}
Štai kaip tai veikia-
Todėl jūs būsite automatiškai nukreiptas į „Google“.
Prieiga prie nuorodų naudojant dalinę teksto atitiktį: By.partialLinkText ()
Prieiga prie nuorodų naudojant jų nuorodos teksto dalį atliekama naudojant metodą By.partialLinkText () . Jei nurodysite dalinį nuorodos tekstą, kuriame yra kelios atitiktys, bus pasiekiama tik pirmoji atitiktis. Apsvarstykite toliau pateiktą HTML kodą.
Kai vykdysite žemiau pateiktą „WebDriver“ kodą, vis tiek būsite nukreipti į „Google“.
Kodas:
importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;viešoji P1 klasė {public static void main (String [] argumentuoja) {String baseUrl = "http://demo.guru99.com/test/accessing-link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");„WebDriver“ tvarkyklė = nauja „ChromeDriver“ ();vairuotojas.get (baseUrl);driver.findElement (By.partialLinkText ("čia")). spustelėkite ();System.out.println ("Puslapio pavadinimas yra: + tvarkyklė.getTitle ());vairuotojas.mesti ();}}
Kaip gauti kelias nuorodas su tuo pačiu nuorodos tekstu
Taigi, kaip apeiti minėtą problemą? Tais atvejais, kai yra keli saitai su tuo pačiu nuorodos tekstu ir mes norime pasiekti kitas nuorodas, nei pirmoji, kaip tai padaryti?
Tokiais atvejais paprastai naudojami skirtingi lokatoriai, ty… By.xpath (), By.cssSelector () arba By.tagName ().
Dažniausiai naudojamas By.xpath (). Tai patikimiausia, tačiau atrodo sudėtinga ir neskaitoma.
Didžiosios ir mažosios raidės nuorodos tekstui
By.linkText () ir By.partialLinkText () parametruose didžiosios ir mažosios raidės, vadinasi, didžiosios raidės yra svarbios. Pavyzdžiui, „Mercury Tours“ pagrindiniame puslapyje yra dvi nuorodos, kuriose yra tekstas „egis“ - viena yra nuoroda „REGISTRUOTI“, randama viršutiniame meniu, o kita - nuoroda „Registruokis čia“, esanti apatiniame dešiniajame kampe. puslapio.
Nors abiejose nuorodose yra simbolių seka „egis“, vienas iš jų yra „By.partialLinkText ()“ metodas, kuris pasieks šias dvi nuorodas atskirai, atsižvelgiant į didžiųjų raidžių rašymą. Žiūrėkite toliau pateiktą pavyzdinį kodą.
Kodas
public static void main (String [] argumentuoja) {Eilutė baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");„WebDriver“ tvarkyklė = nauja „ChromeDriver“ ();vairuotojas.get (baseUrl);String theLinkText = driver.findElement (Autorius.partialLinkText („egis“)).getText ();System.out.println (theLinkText);theLinkText = driver.findElement (Autorius.partialLinkText („EGIS“)).getText ();System.out.println (theLinkText);vairuotojas.mesti ();}