我正在尝试从网页检索数据,下面有html
<div class="someclass">
<p class="name"><a href="#/word/1/">helloworld</a></p>
</div>
我的目标是解析“#/ word / 1 /” 我做的是
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
但输出
<selenium.webdriver.remote.webelement.WebElement object at 0x10bf16210>
helloworld
None
div
我尝试了很多方法,似乎我无法在目标类中获得'a href'的内容。
我真的不想做的是获取页面的源代码,然后进行字符串搜索,这看起来很蠢....
无论如何要得到它?
答案 0 :(得分:37)
据我所知,您可以通过搜索子元素来获取href
div = self.driver.find_element_by_class_name('someclass')
div.find_element_by_css_selector('a').get_attribute('href')
答案 1 :(得分:7)
这应该适合你:
self.driver.find_element_by_css_selector('.someclass a').get_attribute('href')
答案 2 :(得分:0)
如果您从find_element_by_id或类名或 xpath 中搜索特殊标记使用 然后使用 get_attribute('href')
在此示例中,打印标签的所有属性
ids = self.driver.find_elements_by_xpath('//*[@href]')
for id in ids:
print(id.get_attribute('href'))