从范围获取文本返回空字符串
问题描述
我正在尝试使用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")
相关文章