23

I'm using Selenium webdriver (chrome) with Python, I'm trying to get the href from all the links on the webpage. When I try the following:

items = driver.find_elements_by_tag_name("a")
print items

for item in items:
    href = item.Get_Attribute('href')
    print href

It manages to get all the links, but on get_attribute I get an error:

'WebElement' object has no attribute 'Get_Attribute'

Though everywhere I looked it seems like it should work.

phrogg
  • 888
  • 1
  • 13
  • 28
Sapir
  • 263
  • 1
  • 2
  • 9

5 Answers5

45

The "Get_Attribute" property doesn't exist, but the "get_attribute" property does:

items = driver.find_elements_by_tag_name("a")
print items

for item in items:
    href = item.get_attribute('href')
    print href
Florent B.
  • 41,537
  • 7
  • 86
  • 101
3

For python with input-field is like:

nowText = driver.find_element_by_id("source").get_attribute("value")
print(nowText)
YHS
  • 137
  • 9
1
src = driver.find_element_by_css_selector("img").get_attribute("src")
double-beep
  • 5,031
  • 17
  • 33
  • 41
Rkmr039
  • 175
  • 2
  • 6
0

For the latest Selenium version the method find_element_by_id is deprecated, find_element should be used and the same happens to get_attribute instead of getAttribute.

fractefactos
  • 353
  • 4
  • 10
-1

in the latest version find_element_by_id is deprecated, find_element should be used

# Import Selenium's WebDriver module
from selenium import webdriver

# Create a WebDriver object
driver = webdriver. Chrome()

# Use the get method of the WebDriver object to open the specified URL
driver.get("https://www.example.com")

# Use the find_element method to get the specified element
element = driver.find_element(By.ID, "input-id")

# Get the text in the element
text = element.text
print(text)

# Close the WebDriver object
driver. quit()
Ken Chang
  • 19
  • 4