Какво представлява текстът на връзката в селен?
А текстът за връзка в Селен се използва за идентифициране на хипервръзки в уеб страница. Определя се с помощта на котва етикет. За създаване на хипервръзки на уеб страница, можем да използваме котва, следвана от връзката Текст.
Връзки, отговарящи на критерий
Връзките могат да бъдат достъпни чрез точно или частично съвпадение на техния текст на връзката. Примерите по-долу предоставят сценарии, при които ще съществуват множество съвпадения, и ще обяснят как WebDriver ще се справи с тях.
В този урок ще научим наличните методи за намиране и достъп до връзките чрез Webdriver. Също така, ние ще обсъдим някои от често срещаните проблеми, с които се сблъскваме при достъпа до връзки и ще обсъдим по-нататък как да ги разрешим.
Ето какво ще научите-
- Достъп до връзки с помощта на точно съвпадение на текст: By.linkText ()
- Достъп до връзки чрез частично съвпадение на текст: By.partialLinkText ()
- Как да получите няколко връзки със същия текст на връзката
- Чувствителност към малки и големи букви за Текст на връзката
- Връзки отвън и отвътре в блок
Достъп до връзки с помощта на точно съвпадение на текст: By.linkText ()
Достъпът до връзки с помощта на техния точен текст на връзката става чрез метода By.linkText () . Ако обаче има две връзки, които имат един и същ текст на връзката, този метод ще има достъп само до първата. Помислете за HTML кода по-долу
Когато се опитате да стартирате кода на WebDriver по-долу, ще имате достъп до първата връзка "щракнете тук"
Код:
внос org.openqa.selenium.By;импортиране на org.openqa.selenium.WebDriver;импортиране на org.openqa.selenium.chrome.ChromeDriver;публичен клас MyClass {публична статична void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Драйвер за WebDriver = нов ChromeDriver ();driver.get (baseUrl);driver.findElement (By.linkText ("кликнете тук")). click ();System.out.println ("заглавието на страницата е: + driver.getTitle ());driver.quit ();}}
Ето как работи-
В резултат на това автоматично ще бъдете отведени до Google.
Достъп до връзки чрез частично съвпадение на текст: By.partialLinkText ()
Достъпът до връзки с помощта на част от техния текст на връзката става чрез метода By.partialLinkText () . Ако посочите частичен текст на връзката, който има множество съвпадения, ще бъде осъществен достъп само до първото съвпадение. Помислете за HTML кода по-долу.
Когато изпълните кода на WebDriver по-долу, все пак ще бъдете отведени до Google.
Код:
внос org.openqa.selenium.By;импортиране на org.openqa.selenium.WebDriver;импортиране на org.openqa.selenium.chrome.ChromeDriver;публичен клас P1 {публична статична void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/accessing-link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Драйвер за WebDriver = нов ChromeDriver ();driver.get (baseUrl);driver.findElement (By.partialLinkText ("тук")). click ();System.out.println ("Заглавието на страницата е: + driver.getTitle ());driver.quit ();}}
Как да получите няколко връзки със същия текст на връзката
И така, как да заобиколите горния проблем? В случаите, когато има множество връзки с един и същ текст на връзката и ние искаме да осъществим достъп до връзките, различни от първата, как да предприемем това?
В такива случаи обикновено се използват различни локатори, а именно ... By.xpath (), By.cssSelector () или By.tagName ().
Най-често използваният е By.xpath (). Той е най-надеждният, но изглежда сложен и нечетлив.
Чувствителност към малки и големи букви за Текст на връзката
Параметрите за By.linkText () и By.partialLinkText () са чувствителни към малки и големи букви, което означава, че главни букви имат значение. Например в началната страница на Mercury Tours има две връзки, които съдържат текста "egis" - едната е връзката "РЕГИСТРИРАНЕ", намираща се в горното меню, а другата е връзката "Регистрирайте се тук", намираща се в долната дясна част на страницата.
Въпреки че и двете връзки съдържат символната последователност "egis", едната е метода "By.partialLinkText ()" ще има достъп до тези две връзки поотделно в зависимост от изписването с главни букви на символите. Вижте примерния код по-долу.
Код
публична статична void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Драйвер за WebDriver = нов ChromeDriver ();driver.get (baseUrl);String theLinkText = driver.findElement (От.partialLinkText ("egis")).getText ();System.out.println (theLinkText);theLinkText = driver.findElement (От.partialLinkText ("EGIS")).getText ();System.out.println (theLinkText);driver.quit ();}