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.

  • 🔗 Hivatkozás szövegének meghatározása: A látható horgonyszövegük alapján keresi meg a hiperhivatkozásokat egy oldalon.
  • 🎯 By.linkText(): Pontosan megegyezik a hivatkozás szövegével, és az első találatot adja vissza.
  • ???? By.partialLinkText(): A hivatkozás szövegének egy részével egyezik, és az első találatot is visszaadja.
  • 🔠 Kis- és nagybetűérzékeny: Mindkét lokátor a nagybetűs írásmódot jelentősnek tekinti, így az „egis” és az „EGIS” különbözik.
  • 🧱 Többszörös/Blokkolt linkek: Duplikátumok esetén használd az xpath vagy a cssSelector metódust; mindkét metódus blokkcímkéken belül és kívül is működik.

Hivatkozás szövege és részleges hivatkozás szövege itt: Selenium

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

Link szöveg be Selenium–By.LinkText()

Link szöveg be Selenium–By.LinkText()

Amikor megpróbálja futtatni az alábbi WebDriver kódot, az első „kattintson ide” hivatkozásra fog hozzáférni

Link szöveg be Selenium–By.LinkText()

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 -

Link szöveg be Selenium–By.LinkText()

Ennek eredményeként automatikusan átirányítjuk Önt a következő oldalra: Google.

Link szöveg be Selenium–By.LinkText()

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.

Részleges hivatkozás szövege be Selenium – By.partialLinkText()

 Részleges hivatkozás szövege be Selenium – By.partialLinkText()

Amikor végrehajtod az alábbi WebDriver kódot, továbbra is ide kerülsz: Google.

 Részleges hivatkozás szövege be Selenium – By.partialLinkText()

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();
    }
}

Részleges hivatkozás szövege be Selenium – By.partialLinkText()

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 linkszöveg kis- és nagybetűk érzékenysége

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.

A linkszöveg kis- és nagybetűk érzékenysége

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.

A linkszöveg kis- és nagybetűk érzékenysége

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.

Hivatkozások egy blokkon kívül és belül

Hivatkozások egy blokkon kívül és belül

Az alábbi WebDriver kód mindkét hivatkozást a By.partialLinkText() metódussal éri el.

Hivatkozások egy blokkon kívül és belül

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.

GYIK

A By.linkText() egy hivatkozás teljes, pontos látható szövegét egyezik meg, míg a By.partialLinkText() bármely olyan hivatkozást megtalál, amely egy adott alkarakterláncot tartalmaz. Mindkettő csak az első egyező hivatkozást adja vissza, ha több hivatkozás is megfelel a kritériumoknak.

Igen. A By.linkText() és a By.partialLinkText() is megkülönbözteti a kis- és nagybetűket, így a nagybetűk használata számít. Az „egis” és az „EGIS” szöveget különböző értékként kezeli a rendszer, és ugyanazon az oldalon található különböző linkekre illeszkedhetnek.

Mivel a hivatkozásszöveg-keresők csak az első találatot adják vissza, használd a By.xpath() vagy a By.cssSelector() függvényt egy adott hivatkozás megcélzásához, vagy használd a findElements() függvényt a By.tagName(„a”) függvénnyel az összes hivatkozás összegyűjtéséhez és a szükséges kiválasztásához.

A mesterséges intelligencia eszközök elemzik a DOM-ot, és stabilitásuk alapján rangsorolják az attribútumokat, hogy robusztus XPath vagy CSS szelektorokat javasoljanak. Előnyben részesítik az egyedi, kevésbé törékeny azonosítókat, csökkentve a tesztfuttatás során a felhasználói felület apró változásai által okozott hibákat.

Igen. Az önjavító tesztelési keretrendszerek mesterséges intelligenciát használnak a lokátor meghibásodásának észlelésére, majd hasonlóság alapján pontozzák a közeli elemeket, és automatikusan a legközelebbi egyezésre váltanak.ping kevesebb manuális karbantartással futtatható tesztek.

Foglald össze ezt a bejegyzést a következőképpen: