Lingi tekst ja osaline lingi tekst Selenium
โก Nutikas kokkuvรตte
Lingi tekst ja osaline lingi tekst Selenium Leidke veebilehelt hรผperlinke nende ankruteksti kaudu. Meetod By.linkText() leiab tรคpse teksti, samas kui By.partialLinkText() leiab osa tekstist ning mรตlemad lokaatorid on tรตstutundlikud ja tagastavad esimese vaste.

Mis on lingi tekst Selenium?
A Link tekst sisse Selenium kasutatakse veebilehel olevate hรผperlinkide tuvastamiseks. See mรครคratakse ankrusildi abil. Hรผperlinkide loomiseks veebilehel saame kasutada ankurmรคrgendit, millele jรคrgneb link Tekst.
Kriteeriumile vastavad lingid
Linkidele pรครคseb juurde, kasutades nende lingi teksti tรคpset vรตi osalist vastet. Allolevad nรคited pakuvad stsenaariume, kus oleks mitu vastet, ja selgitavad, kuidas WebDriver nendega tegeleb.
Selles รตpetuses รตpime saadaolevaid meetodeid veebidraiveri abil linkide leidmiseks ja neile juurde pรครคsemiseks. Samuti kรคsitleme mรตningaid levinumaid probleeme, millega linkidele juurdepรครคsul kokku puutute, ja arutame edasi, kuidas neid lahendada.
Tรคitke lingi tekst Selenium โ By.linkText()
Juurdepรครคs linkidele nende tรคpse lingiteksti abil toimub meetodi By.linkText() kaudu. Kui aga on kaks linki, millel on sama lingi tekst, pรครคseb see meetod juurde ainult esimesele. Mรตelge allolevale HTML-koodile
Kui proovite allolevat WebDriveri koodi kรคivitada, pรครคsete juurde esimesele lingile "klรตpsake siin".
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(); } }
Siin on, kuidas see tรถรถtab -
Selle tulemusel suunatakse teid automaatselt lehele Google.
Tรคitke osaline lingi tekst Selenium โ By.partialLinkText()
Juurdepรครคs linkidele, kasutades osa nende lingi tekstist, toimub kasutades By.partialLinkText() meetod. Kui mรครคrate osalise lingi teksti, millel on mitu vastet, pรครคseb juurde ainult esimesele vastele. Mรตelge allolevale HTML-koodile.
Alloleva WebDriveri koodi kรคivitamisel suunatakse teid ikkagi 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(); } }
Kuidas hankida mitu linki sama lingitekstiga
Niisiis, kuidas รผlaltoodud probleemist mรถรถda saada? Kui sama lingitekstiga on mitu linki ja me tahame juurde pรครคseda muudele linkidele peale esimese, kuidas seda teha?
Sellistel juhtudel kasutatakse รผldiselt erinevaid lokaatoreid, nimeltโฆ By.xpath(), By.cssSelector() vรตi By.tagName().
Kรตige sagedamini kasutatav on By.xpath(). See on kรตige usaldusvรครคrsem, kuid tundub ka keeruline ja mitteloetav.
Lingi teksti tรตstutundlikkus
Parameetrid jaoks By.linkText() ja By.partialLinkText() on mรตlemad tรตstutundlikud, mis tรคhendab, et suurtรคhtede kasutamine on oluline. Nรคiteks sisse Mercury Toursi kodulehel on kaks linki, mis sisaldavad teksti โegisโ โ รผks on รผlamenรผรผs olev link โREGISTREERUโ ja teine โโlehe paremas alanurgas olev link โRegistreeri siinโ.
Kuigi mรตlemad lingid sisaldavad mรคrgijada โegisโ, pรครคseb meetod โBy.partialLinkText()โ neile kahele lingile eraldi juurde, olenevalt tรคhtede suurtรคhtede kasutamisest. Vaadake allolevat nรคidiskoodi.
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(); }
Lingid plokist vรคljas ja sees
Uusim HTML5-standard lubab silte paigutada plokitasemel siltide (nt , , vรตi ) sisse ja vรคljapoole. Meetodid "By.linkText()" ja "By.partialLinkText()" pรครคsevad juurde lingile, mis asub nendest plokitaseme elementidest vรคljaspool ja sees. Mรตelge allolevale HTML-koodile.
Allolev WebDriveri kood pรครคseb mรตlemale lingile, kasutades meetodit By.partialLinkText().
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(); } }
รlaltoodud vรคljund kinnitab, et mรตlemale lingile pรครคseti edukalt juurde, kuna nende vastavad lehepealkirjad leiti รตigesti.


.png)
.png)

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

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