Home > other >  How to get links within a subelement in selenium?
How to get links within a subelement in selenium?

Time:04-26

I have the following html code:

   <div id="category">    //parent div
    <div > // n-number of elements of class username which all exist within parent div
      <a rel="" href="link" title="smth">click</a>          
    </div> 
    </div> 

I want to get all the links witin the class username BUT only those within the parent div where id=category. When I execute the code below it doesn´t work. I can only access the title attribute by default but can´t extract the link. Does anyone have a solution?

  a = driver.find_element_by_id('category').find_elements_by_class_name("username")
    links = [x.get_attribute("href") for x in a]

CodePudding user response:

Try:

a = driver.find_elements_by_xpath('//*[@)]/../div/a')
links = [x.get_attribute("href") for x in a]

CodePudding user response:

Use the following css selector which will return all the anchor tags.

links = [x.get_attribute("href") for x in driver.find_elements(By.CSS_SELECTOR,"#category > .username >a")]

Or

links = [x.get_attribute("href") for x in driver.find_elements_by_css_selector("#category > .username >a")]
  • Related