【问题标题】:Alter XPath to Extract Text Selenium更改 XPath 以提取文本 Selenium
【发布时间】:2015-04-15 17:56:27
【问题描述】:

这个 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()

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

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

【问题讨论】:

  • 这不是 XPath 与 Selenium 一起使用时的工作,使用 Selenium 来获取属性。

标签: python selenium xpath web-scraping


【解决方案1】:

尝试改用get_attribute。可以使用任何 find_elements 机制来定位预期元素。见API DOC

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-15
    • 2019-04-27
    • 2020-12-29
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    相关资源
    最近更新 更多