selenium how to get the content of href within some targeted class
I am trying to retrieve the data from the webpage has the html in below
<div class="someclass">
<p class="name"><a href="#/word/1/">helloworld</a></p>
</div>
My goal is to parse "#/word/1/" What I did is
target = self.driver.find_element_by_class_name('someclass')
print target
print target.text
print target.get_attribute("css=a@href")
print target.tag_name
but the output are
<selenium.webdriver.remote.webelement.WebElement object at 0x10bf16210>
helloworld
None
div
I tried so many ways , it seems there is no way i can get the content of 'a href' within the targeted class.
I really dont want to do is get the source code of the page, and then do a string searching, that seems dumb....
anyway to get that?
Solution 1:
As far as I am aware you can get the href by searching through the child elements
div = self.driver.find_element_by_class_name('someclass')
div.find_element_by_css_selector('a').get_attribute('href')
Solution 2:
This should do it for you:
self.driver.find_element_by_css_selector('.someclass a').get_attribute('href')
Solution 3:
if you search for special tag use from find_element_by_id or classname or xpath and then use get_attribute('href')
in this example print all attribute for a tags
ids = self.driver.find_elements_by_xpath('//*[@href]')
for id in ids:
print(id.get_attribute('href'))