Skip to content Skip to sidebar Skip to footer

Python & Selenium - How Do I Find All Element Ids On A Page?

I know that I can use methods such as: find_elements_by_tag_name() find_elements_by_id() find_elements_by_css_selector() find_elements_by_xpath() But what I would like to do is si

Solution 1:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get('http://google.com')

ids = driver.find_elements_by_xpath('//*[@id]')
for ii in ids:
    #print ii.tag_nameprint ii.get_attribute('id')    # id name as string

Solution 2:

Not had to do this before, but thinking about it logically you could use XPath to do this (may be other ways, XPath is the first thing that appears into my head).

Use find_elements_by_xpath using the XPath //*[@id] (any element that has an ID of some sort).

You could then iterate through the collection, and use the .tag_name property of each element to find out what kind of element it is and the get_attribute("id") method/function to get that element's ID.

Note: This is probably going to be quite slow. After all, you are asking for a lot of information.

Post a Comment for "Python & Selenium - How Do I Find All Element Ids On A Page?"