Open In App

find_element_by_link_text() driver method - Selenium Python

Last Updated : 22 Sep, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

Selenium's Python Module is built to perform automated testing with Python. Selenium Python bindings provide a simple API to write functional/acceptance tests using Selenium WebDriver. After you have installed selenium and checked out - Navigating links using get method, you might want to play more with Selenium Python. After one has opened a page using selenium such as geeksforgeeks, one might want to click some buttons automatically or fill a form automatically or any such automated task. 

This article revolves around how to grab or locate elements in a webpage using locating strategies of Selenium Web Driver. More specifically, find_element(By.LINK_TEXT, ) is discussed in this article. With this strategy, the first element with the link text value matching the location will be returned. If no element has a matching link text attribute, a NoSuchElementException will be raised.

Syntax - 

driver.find_element(By.LINK_TEXT, "Text of Link")

Example - 
For instance, consider this page source:  

HTML
<html>
 <body>
  

<p>Are you sure you want to do this?</p>


  <a href="continue.html">Continue</a>
  <a href="cancel.html">Cancel</a>
</body>
<html>

Now after you have created a driver, you can grab an element using - 

login_form = driver.find_element(By.LINK_TEXT, 'Continue')

How to use driver.find_element(By.LINK_TEXT) method in Selenium?

Let's try to practically implement this method and get a element instance for "https://www.geeksforgeeks.org/". Let's try to grab search form input using its link text "Tutorials". 

Create a file called run.py to demonstrate find_element(By.LINK_TEXT) method -  

Python3
# Python program to demonstrate
# selenium

# import webdriver
from selenium import webdriver
from selenium.webdriver.common.by import By

# create webdriver object
driver = webdriver.Firefox()

# enter keyword to search
keyword = "geeksforgeeks"

# get geeksforgeeks.org
driver.get("https://www.geeksforgeeks.org/")

# get element 
element = driver.find_element(By.LINK_TEXT, "Tutorials")

# print complete element
print(element)

Now run using - 

Python run.py

First, it will open firefox window with geeksforgeeks, and then select the element and print it on terminal as show below. 

Browser Output -  

find_element-driver-method-Selenium-Python


Terminal Output - 

terminal-output-find_element-method-Python-selenium

More locators for locating single elements 

LocatorsDescription
find_element_by_idThe first element with the id attribute value matching the location will be returned.
find_element_by_nameThe first element with the name attribute value matching the location will be returned.
find_element_by_xpathThe first element with the xpath syntax matching the location will be returned.
find_element_by_link_textThe first element with the link text value matching the location will be returned.
find_element_by_partial_link_textThe first element with the partial link text value matching the location will be returned.
find_element_by_tag_nameThe first element with the given tag name will be returned.
find_element_by_class_namethe first element with the matching class attribute name will be returned.
find_element_by_css_selectorThe first element with the matching CSS selector will be returned.


 


 


 


Next Article
Practice Tags :

Similar Reads