Mi a link szöveg a szelénben?
A szelénben található hivatkozási szöveg a weboldalon található hiperhivatkozások azonosítására szolgál. Meghatározása egy horgonycímke segítségével történik. A hiperhivatkozások weboldalon történő létrehozásához használhatunk horgonycímkét, amelyet a Szöveg hivatkozás követ.
A kritériumnak megfelelő linkek
A linkek a hivatkozásuk szövegének pontos vagy részleges egyezésével érhetők el. Az alábbi példák olyan forgatókönyveket tartalmaznak, ahol több egyezés létezne, és elmagyarázzák, hogy a WebDriver hogyan kezeli őket.
Ebben az oktatóanyagban megtanuljuk a rendelkezésre álló módszereket a hivatkozások megkeresésére és elérésére a Webdriver segítségével. Ezenkívül megvitatjuk a Linkek elérése során felmerülő gyakori problémákat, és tovább megvitatjuk, hogyan lehet megoldani őket.
Itt van, amit megtanulsz-
- Linkek elérése az Exact Text Match használatával: By.linkText ()
- Linkek elérése a Partial Text Match: By.partialLinkText () használatával
- Hogyan szerezhet több linket ugyanazzal a linkszöveggel
- Kis- és nagybetűk a link szövegéhez
- Linkek a blokkon kívül és belül
Linkek elérése az Exact Text Match használatával: By.linkText ()
A linkek pontos hivatkozási szövegükkel történő elérése a By.linkText () módszerrel történik . Ha azonban két link van, amelyeknek ugyanaz a szövege van, akkor ez a módszer csak az elsőhöz fog hozzáférni. Vegye figyelembe az alábbi HTML kódot
Amikor megpróbálja futtatni az alábbi WebDriver kódot, akkor hozzáfér az első "kattintson ide" linkre
Kód:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;nyilvános osztály MyClass {public static void main (String [] érvel) {Karakterlánc baseUrl = "http://demo.guru99.com/test/link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver illesztőprogram = new ChromeDriver ();driver.get (baseUrl);driver.findElement (By.linkText ("kattintson ide")). kattintson ();System.out.println ("az oldal címe: + driver.getTitle ());driver.quit ();}}
Így működik -
Ennek eredményeként automatikusan a Google-ba kerül.
Linkek elérése a Partial Text Match: By.partialLinkText () használatával
A linkekhez a hivatkozásuk szövegének egy részével férhet hozzá a By.partialLinkText () módszerrel. Ha olyan részleges hivatkozási szöveget ad meg, amely több egyezéssel rendelkezik, akkor csak az első egyezés érhető el. Vegye figyelembe az alábbi HTML kódot.
Amikor végrehajtja az alábbi WebDriver kódot, akkor is átkerül a Google-hoz.
Kód:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;P1 nyilvános osztály {public static void main (String [] érvel) {Karakterlánc baseUrl = "http://demo.guru99.com/test/accessing-link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver illesztőprogram = new ChromeDriver ();driver.get (baseUrl);driver.findElement (By.partialLinkText ("itt")). kattintson ();System.out.println ("Az oldal címe: + driver.getTitle ());driver.quit ();}}
Hogyan szerezhet több linket ugyanazzal a linkszöveggel
Szóval, hogyan lehet megkerülni a fenti problémát? Abban az esetben, ha több link van ugyanazzal a szövegszöveggel, és az elsőtől eltérő linkekhez szeretnénk hozzáférni, akkor hogyan tovább?
Ilyen esetekben általában különböző lokátorokat használnak, például: By.xpath (), By.cssSelector () vagy By.tagName ().
Leggyakrabban a By.xpath (). Ez a legmegbízhatóbb, de összetettnek és olvashatatlannak is tűnik.
Kis- és nagybetűk a link szövegéhez
A By.linkText () és a By.partialLinkText () paraméterei megkülönböztetik a kis- és nagybetűket, vagyis a nagybetűs írás számít. Például a Mercury Tours honlapján két link található, amelyek az "egis" szöveget tartalmazzák - az egyik a felső menüben található "REGISZTRÁCIÓ" link, a másik pedig a jobb alsó részen található "Regisztráció itt" link. az oldal.
Bár mindkét hivatkozás tartalmazza az "egis" karakterszekvenciát, az egyik a "By.partialLinkText ()" metódus külön fogja elérni ezt a két hivatkozást, a karakterek nagybetűs írásától függően. Lásd az alábbi mintakódot.
Kód
public static void main (String [] érvel) {Karaktersorozat baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver illesztőprogram = new ChromeDriver ();driver.get (baseUrl);String theLinkText = driver.findElement (Írta:.partialLinkText ("egis")).getText ();System.out.println (theLinkText);theLinkText = driver.findElement (Írta:.partialLinkText ("EGIS")).getText ();System.out.println (theLinkText);driver.quit ();}