改变 XPath 以提取文本 Selenium

Alter XPath to Extract Text Selenium

这个HTML块:

<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]'

正在尝试提取文本:9,043,725 次播放

find_element_by_xpath(xpath).text()

returns 一个空字符串。只有当用户将鼠标悬停在 HTML 块上时才会生成此文本。

有没有办法改变 XPath 以便不返回空字符串而是返回实际字符​​串?

尝试使用 get_attribute instead. The intended element can be located using any find_elements mechanisms. See the API DOC

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