如何获取innerHTML元素的文本?

时间:2020-07-08 06:22:51

标签: python selenium web-scraping attributes getattribute

ProductNames是使用此行时所需数据的数组:

ProductNames[3].find_element_by_css_selector('.aok-align-bottom').get_attribute("innerHTML")

我得到这个:

<span class="a-icon-alt">4.3 out of 5 stars</span>

所以我怎么能从span标签中准确提取文本 4.3星(满分5星)

3 个答案:

答案 0 :(得分:0)

您也应该将此>span包含在css_selector中,并在<span class="a-icon-alt">4.3 out of 5 stars</span>上搜索get_attribute(“ innetHTML”)

答案 1 :(得分:0)

尝试这样的事情:

ProductNames[3].find_element_by_css_selector('.aok-align-bottom').get_attribute("innerHTML").text

答案 2 :(得分:0)

您不是从innerHTML中提取的。而是提取 text WebElement的任何属性的值。

要提取文本_4.3 out of 5 stars_,您需要向<span>更深一步,然后可以使用以下Locator Strategy

ProductNames[3].find_element_by_css_selector('.aok-align-bottom>span.a-icon-alt').get_attribute("innerHTML")

或者简单地:

ProductNames[3].find_element_by_css_selector('.aok-align-bottom>span').get_attribute("innerHTML")

或者,您也可以如下使用 text 属性:

ProductNames[3].find_element_by_css_selector('.aok-align-bottom>span.a-icon-alt').text

或者简单地:

ProductNames[3].find_element_by_css_selector('.aok-align-bottom>span').text

参考文献

您可以在以下位置找到一些相关的讨论