Hivatkozás szövege és részleges hivatkozás szövege itt: Selenium
⚡ Okos összefoglaló
Hivatkozás szövege és részleges hivatkozás szövege itt: Selenium A weboldalon található hiperhivatkozások megkeresése a horgonyszövegük alapján történik. A By.linkText() metódus a pontos szöveget egyezik meg, míg a By.partialLinkText() csak egy részét, és mindkét lokátor megkülönbözteti a kis- és nagybetűket, és az első találatot adja vissza.

Mit tartalmaz a hivatkozás szövege Selenium?
A Link szöveg be Selenium a weboldalon található hiperhivatkozások azonosítására szolgál. Meghatározása horgonycímke segítségével történik. A hiperhivatkozások létrehozásához egy weboldalon használhatunk egy horgonycímkét, amelyet a szöveg hivatkozás követ.
Kritériumnak megfelelő linkek
A hivatkozások a linkszöveg pontos vagy részleges egyezésével érhetők el. Az alábbi példák olyan forgatókönyveket mutatnak be, ahol több egyezés is létezne, és elmagyarázzák, hogyan kezelné őket a WebDriver.
Ebben az oktatóanyagban megismerjük a hivatkozások megtalálásának és elérésének elérhető módszereit a Webdriver segítségével. Ezenkívül megvitatunk néhány gyakori problémát, amelyekkel a hivatkozások elérése során szembesülünk, és tovább tárgyaljuk a megoldásuk módját.
Töltse ki a hivatkozás szövegét Selenium – By.linkText()
A hivatkozások elérése a pontos linkszöveg használatával a By.linkText() metóduson keresztül történik. Ha azonban van két hivatkozás, amelyeknek ugyanaz a hivatkozás szövege, akkor ez a módszer csak az elsőhöz fér hozzá. Vegye figyelembe az alábbi HTML-kódot
Amikor megpróbálja futtatni az alábbi WebDriver kódot, az első „kattintson ide” hivatkozásra fog hozzáférni
Code:
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class MyClass { public static void main(String[] args) { String baseUrl = "https://demo.guru99.com/test/link.html"; System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get(baseUrl); driver.findElement(By.linkText("click here")).click(); System.out.println("title of page is: " + driver.getTitle()); driver.quit(); } }
Íme, hogyan működik -
Ennek eredményeként automatikusan átirányítjuk Önt a következő oldalra: Google.
Részleges hivatkozás szövegének kitöltése Selenium – By.partialLinkText()
A hivatkozásokhoz a hivatkozásszöveg egy részével való hozzáférés a következő használatával történik By.partialLinkText() módszer. Ha olyan részleges linkszöveget ad meg, amely több egyezést tartalmaz, akkor csak az első egyezés lesz elérhető. Vegye figyelembe az alábbi HTML-kódot.
Amikor végrehajtod az alábbi WebDriver kódot, továbbra is ide kerülsz: Google.
Code:
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class P1 { public static void main(String[] args) { String baseUrl = "https://demo.guru99.com/test/accessing-link.html"; System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get(baseUrl); driver.findElement(By.partialLinkText("here")).click(); System.out.println("Title of page is: " + driver.getTitle()); driver.quit(); } }
Hogyan szerezhet be több hivatkozást ugyanazzal a linkszöveggel
Tehát hogyan lehet megkerülni a fenti problémát? Azokban az esetekben, amikor több link is ugyanazzal a linkszöveggel rendelkezik, és az elsőtől eltérő hivatkozásokat szeretnénk elérni, hogyan tegyünk?
Ilyen esetekben általában különböző lokátorokat használnak, nevezetesen… By.xpath(), By.cssSelector() vagy By.tagName()-t.
A leggyakrabban használt a By.xpath(). Ez a legmegbízhatóbb, de bonyolultnak és olvashatatlannak is tűnik.
A hivatkozásszöveg kis- és nagybetűk megkülönböztetése
A paraméterek a By.linkText() és a By.partialLinkText() mindkettő megkülönbözteti a kis- és nagybetűket, ami azt jelenti, hogy a nagybetűk használata számít. Például be Mercury A 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Ó”, a másik pedig az oldal jobb alsó sarkában található „Regisztráció itt” link.
Bár mindkét hivatkozás tartalmazza az „egis” karaktersorozatot, a „By.partialLinkText()” metódus külön-külön fogja elérni ezt a két hivatkozást a karakterek nagybetűs írásmódjától függően. Lásd az alábbi mintakódot.
Code
public static void main(String[] args) { String baseUrl = "https://demo.guru99.com/test/newtours/"; System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get(baseUrl); String theLinkText = driver.findElement(By .partialLinkText("egis")) .getText(); System.out.println(theLinkText); theLinkText = driver.findElement(By .partialLinkText("EGIS")) .getText(); System.out.println(theLinkText); driver.quit(); }
Hivatkozások egy blokkon kívül és belül
A legújabb HTML5 szabvány lehetővé teszi a címkék elhelyezését blokkszintű címkéken belül és kívül is, mint például a , , vagy . A „By.linkText()” és „By.partialLinkText()” metódusok hozzáférhetnek egy hivatkozáshoz, amely ezeken a blokkszintű elemeken kívül és belül található. Vegye figyelembe az alábbi HTML-kódot.
Az alábbi WebDriver kód mindkét hivatkozást a By.partialLinkText() metódussal éri el.
Code:
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class MyClass { public static void main(String[] args) { String baseUrl = "https://demo.guru99.com/test/block.html"; System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get(baseUrl); driver.findElement(By.partialLinkText("Inside")).click(); System.out.println(driver.getTitle()); driver.navigate().back(); driver.findElement(By.partialLinkText("Outside")).click(); System.out.println(driver.getTitle()); driver.quit(); } }
A fenti kimenet megerősíti, hogy mindkét hivatkozáshoz sikeresen hozzáfértek, mert a megfelelő oldalcímüket megfelelően lekérték.


.png)
.png)

.png)
.png)
.png)
.png)
.png)

.png)
.png)
.png)
.png)
.png)