改变 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')
这个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')