Search code examples
pythonseleniumxpathgetattributelinktext

Print url when element is a link in Python-Selenium


I'm using Python3 and Selenium. The xpath below points to a link. I would like to print the URL. If I write print(link.text) I get the displayed text portion of the link only. For example: link.text in the following link would give me "link text" when I want URL.

HTML:

<a href="url">link text</a>

Code trials:

path = f"/html/body/div/section[5]/div/div/div[1]/div[3]/div[{str(n)}]/div/div[1]/div/div[2]/div[1]/a"
link = driver.find_element_by_xpath(path)
print(link.url) 

Solution

  • You need to use

    link.get_attribute('href')
    

    instead of

    link.text