从范围获取文本返回空字符串

2022-02-28 00:00:00 python selenium web-scraping phantomjs

问题描述

我正在尝试使用python和Selenium从此div内部的span中获取文本:

<div class="product-name">
    <span class="h1" itemprop="name">TEXT</span>
</div>

我尝试过此操作,但返回空字符串:

line = dr.find_element_by_class_name('product-name').find_element_by_xpath('.//span').text

提前感谢,


解决方案

您应该尝试使用css_selector在一条Find语句中查找Desire元素,如下所示:-

line = dr.find_element_by_css_selector('div.product-name > span').text

如果您仍然收到空字符串,请尝试使用get_attribute("textContent")As:-

line = dr.find_element_by_css_selector('div.product-name > span').get_attribute("textContent")

或使用get_attribute("innerHTML")AS:-

line = dr.find_element_by_css_selector('div.product-name > span').get_attribute("innerHTML")

注意:-如果只有需要的文本,也可以使用class_name在父元素<div>上使用上述操作获取innerText:-

line = dr.find_element_by_class_name('product-name').text

line = dr.find_element_by_class_name('product-name').get_attribute("textContent")

相关文章