Python & Selenium - how do I find all element IDs on a page?

前端 未结 2 1009
一生所求
一生所求 2021-02-04 04:10

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()
相关标签:
2条回答
  • 2021-02-04 04:41
    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_name
        print ii.get_attribute('id')    # id name as string
    
    0 讨论(0)
  • 2021-02-04 04:46

    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.

    0 讨论(0)
提交回复
热议问题