Što je tekst veze u selenu?
Link Tekst selena se koristi za identifikaciju linkove na web-stranici. Određuje se uz pomoć sidrene oznake. Za stvaranje hiperveza na web stranici možemo koristiti sidrenu oznaku nakon koje slijedi veza Tekst.
Veze koje odgovaraju kriteriju
Vezama se može pristupiti pomoću točnog ili djelomičnog podudaranja njihovog teksta veze. Primjeri u nastavku pružaju scenarije u kojima bi postojalo više podudaranja i objašnjavaju kako će se WebDriver nositi s njima.
U ovom uputstvu naučit ćemo dostupne metode za pronalaženje i pristup Vezama pomoću Webdrivera. Također, razgovarat ćemo o nekim uobičajenim problemima s kojima se suočavaju prilikom pristupanja Vezama i dalje o tome kako ih riješiti.
Evo što ćete naučiti-
- Pristup vezama pomoću točnog podudaranja teksta: By.linkText ()
- Pristup vezama pomoću djelomičnog podudaranja teksta: By.partialLinkText ()
- Kako doći do više veza s istim tekstom veze
- Osjetljivost na velika i mala slova za tekst veze
- Veze izvana i unutar bloka
Pristup vezama pomoću točnog podudaranja teksta: By.linkText ()
Pristup vezama koristeći njihov točan tekst veze vrši se metodom By.linkText () . Međutim, ako postoje dvije veze koje imaju isti tekst veze, ova će metoda pristupiti samo prvoj. Razmotrite HTML kôd u nastavku
Kad pokušate pokrenuti donji WebDriver kod, pristupit ćete prvoj vezi "kliknite ovdje"
Kodirati:
uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;javna klasa MyClass {javna statička void glavna (String [] args) {String baseUrl = "http://demo.guru99.com/test/link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Upravljački program WebDriver = novi ChromeDriver ();driver.get (baseUrl);driver.findElement (By.linkText ("kliknite ovdje")). click ();System.out.println ("naslov stranice je: + driver.getTitle ());driver.quit ();}}
Evo kako to radi-
Kao rezultat, automatski ćete biti preusmjereni na Google.
Pristup vezama pomoću djelomičnog podudaranja teksta: By.partialLinkText ()
Pristup vezama pomoću dijela teksta njihovog linka vrši se metodom By.partialLinkText () . Ako navedete djelomični tekst veze koji ima više podudaranja, pristupit će se samo prvom podudaranju. Razmotrite HTML kôd u nastavku.
Kada izvršite donji WebDriver kod, i dalje ćete biti preusmjereni na Google.
Kodirati:
uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;javna klasa P1 {javna statička void glavna (String [] args) {String baseUrl = "http://demo.guru99.com/test/accessing-link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Upravljački program WebDriver = novi ChromeDriver ();driver.get (baseUrl);driver.findElement (By.partialLinkText ("ovdje")). click ();System.out.println ("Naslov stranice je: + driver.getTitle ());driver.quit ();}}
Kako doći do više veza s istim tekstom veze
Dakle, kako zaobići gornji problem? U slučajevima kada postoji više poveznica s istim tekstom veze, a mi želimo pristupiti vezama koje nisu prva, kako to postupiti?
U takvim se slučajevima uglavnom koriste različiti lokatori, naime ... By.xpath (), By.cssSelector () ili By.tagName ().
Najčešće se koristi By.xpath (). Najpouzdaniji je, ali izgleda i složeno i nečitko.
Osjetljivost na velika i mala slova za tekst veze
Parametri za By.linkText () i By.partialLinkText () razlikuju velika i mala slova, što znači da su velika slova bitna. Na primjer, na početnoj stranici Mercury Toursa postoje dvije poveznice koje sadrže tekst "egis" - jedan je link "REGISTRUJ" koji se nalazi u gornjem izborniku, a drugi je link "Registriraj se ovdje" u donjem desnom dijelu stranice.
Iako obje poveznice sadrže slijed znakova "egis", jedna je metoda "By.partialLinkText ()" pristupit će ove dvije veze zasebno, ovisno o pisanju velikih slova u znakovima. Pogledajte uzorak koda u nastavku.
Kodirati
javna statička void glavna (String [] args) {String baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Upravljački program WebDriver = novi ChromeDriver ();driver.get (baseUrl);String theLinkText = driver.findElement (Autor.partialLinkText ("egis")).getText ();System.out.println (theLinkText);theLinkText = driver.findElement (Autor.partialLinkText ("EGIS")).getText ();System.out.println (theLinkText);driver.quit ();}