2015-04-15 169 views
1

该HTML块:阿尔特XPath来提取文本硒

<td class="tl-cell tl-popularity" data-tooltip="9,043,725 plays" data-tooltip-instant=""> 
    <div class="pop-meter"> 
    <div class="pop-meter-background"></div> 
    <div class="pop-meter-overlay" style="width: 57%"></div> 
    </div> 
</td> 

相当于这个XPath:

xpath = '//*[@id="album-tracks"]/table/tbody/tr[5]/td[6]' 

试图提取文本:9043725个玩弄

find_element_by_xpath(xpath).text() 

返回空字符串。该文本仅在用户将鼠标悬停在HTML块上时生成。

有没有办法改变XPath,使空字符串不返回,但实际的字符串返回?

+0

当Selenium使用它时,这不是XPath的工作,请使用Selenium获取属性。 – Arran

回答

2

请尝试使用get_attribute代替。目标元素可以使用任何find_elements机制来定位。请参阅API DOC

element = browser.find_elements_by_css_selector('.tl-cell.tl-popularity') 
text = element.get_attribute('data-tooltip')