Čo je text odkazu v seléne?
Text odkazu na selén slúži na identifikáciu hypertextové odkazy na webové stránky. Zisťuje sa pomocou kotvovej značky. Na vytvorenie hypertextových odkazov na webovej stránke môžeme použiť kotviacu značku nasledovanú odkazom Text.
Odkazy zodpovedajúce kritériu
K odkazom je možné pristupovať pomocou presnej alebo čiastočnej zhody ich textu odkazu. Nasledujúce príklady poskytujú scenáre, v ktorých by existovalo viac zhôd, a vysvetľujú, ako by s nimi WebDriver zaobchádzal.
V tejto príručke sa naučíme dostupné metódy na vyhľadanie a prístup k odkazom pomocou nástroja Webdriver. Taktiež prediskutujeme niektoré bežné problémy, ktorým čelíme pri prístupe k odkazom, a ďalej budeme diskutovať o tom, ako ich vyriešiť.
Tu sa dozviete
- Prístup k odkazom pomocou presnej zhody textu: By.linkText ()
- Prístup k odkazom pomocou čiastočnej zhody textu: By.partialLinkText ()
- Ako získať viac odkazov s rovnakým textom odkazu
- Rozlišujú sa veľké a malé písmená v texte odkazu
- Odkazy mimo a vo vnútri bloku
Prístup k odkazom pomocou presnej zhody textu: By.linkText ()
Prístup k odkazom pomocou ich presného textu odkazu sa vykonáva metódou By.linkText () . Ak však existujú dva odkazy, ktoré majú rovnaký text odkazu, táto metóda získa prístup iba k prvému odkazu. Zvážte kód HTML uvedený nižšie
Pri pokuse o spustenie nižšie uvedeného kódu WebDriver získate prístup k prvému odkazu „kliknite sem“
Kód:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;verejná trieda MyClass {public static void main (String [] args) {Reťazec baseUrl = "http://demo.guru99.com/test/link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Ovládač WebDriver = nový ChromeDriver ();driver.get (baseUrl);driver.findElement (By.linkText ("kliknite sem")). click ();System.out.println ("názov stránky je: + driver.getTitle ());driver.quit ();}}
Takto to funguje -
Vďaka tomu budete automaticky presmerovaní na Google.
Prístup k odkazom pomocou čiastočnej zhody textu: By.partialLinkText ()
Prístup k odkazom pomocou časti ich textu odkazu sa vykonáva pomocou metódy By.partialLinkText () . Ak zadáte čiastočný text odkazu, ktorý má viac zhôd, bude prístupná iba prvá zhoda. Zvážte kód HTML uvedený nižšie.
Po vykonaní nižšie uvedeného kódu WebDriver budete stále presmerovaný na Google.
Kód:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;verejná trieda P1 {public static void main (String [] args) {Reťazec baseUrl = "http://demo.guru99.com/test/accessing-link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Ovládač WebDriver = nový ChromeDriver ();driver.get (baseUrl);driver.findElement (By.partialLinkText ("tu")). click ();System.out.println ("Názov stránky je: + driver.getTitle ());driver.quit ();}}
Ako získať viac odkazov s rovnakým textom odkazu
Ako teda vyriešiť vyššie uvedený problém? Ako to urobíme v prípade, že existuje viac odkazov s rovnakým textom odkazu a chceme získať prístup k iným ako prvým odkazom?
V takýchto prípadoch sa zvyčajne používajú rôzne lokátory, napríklad ... By.xpath (), By.cssSelector () alebo By.tagName ().
Najčastejšie sa používa By.xpath (). Je to najspoľahlivejší, ale vyzerá tiež komplexne a nečitateľne.
Rozlišujú sa veľké a malé písmená v texte odkazu
V parametroch By.linkText () a By.partialLinkText () sa rozlišujú veľké a malé písmená, čo znamená, že na veľkých písmenách záleží. Napríklad na domovskej stránke Mercury Tours sú dva odkazy, ktoré obsahujú text „egis“ - jeden je odkaz „REGISTROVAŤ“, ktorý sa nachádza v hornom menu, a druhý je odkaz „Registrovať sa“, ktorý sa nachádza v pravej dolnej časti stránky.
Aj keď oba odkazy obsahujú postupnosť znakov „egis“, jedným z nich je metóda „By.partialLinkText ()“, ktorá k týmto dvom odkazom pristupuje osobitne v závislosti od použitia veľkých písmen v znakoch. Pozrite si ukážkový kód nižšie.
Zákonníka
public static void main (String [] args) {Reťazec baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Ovládač WebDriver = nový ChromeDriver ();driver.get (baseUrl);Reťazec theLinkText = driver.findElement (od.partialLinkText ("egis")).getText ();System.out.println (theLinkText);theLinkText = driver.findElement (autor.partialLinkText („EGIS“)).getText ();System.out.println (theLinkText);driver.quit ();}