selenium无法获取到标签的文本内容(text)的解决方法

Posted Jason_WangYing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium无法获取到标签的文本内容(text)的解决方法相关的知识,希望对你有一定的参考价值。

在我们使用selenium进行抓取网页的时候,可能有的时候会抓取不到内容。

例如:driver.find_element_by_xxx().text() 为空的解决办法
 

 在用driver.find_element_by_xxx().text()获取文本的时候,得到的文本为空,
那么当前定位的元素可能被隐藏了。

我们先查看当前的元素的原始代码

 

我们发现是有内容的,但是取出时是空。怎么判断是否被隐藏呢,可以通过.is_displayed()方法来判断。

 我们可以看到返回时False,确实被隐藏了。这时我们就需要考虑怎么才能获取到我们需要的数据了。

在某些情况下,我们需要获取隐藏元素的文本。这些内容可以使用

element.attribute('attributeName'), 通过**textContent, innerText, innerhtml**等属性获 取。(划重点)

innerHTML 会返回元素的内部 HTML, 包含所有的HTML标签。

textContent 和 innerText 只会得到文本内容,而不会包含 HTML 标签。

我们看下最终的效果

 

以上是关于selenium无法获取到标签的文本内容(text)的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

selenium无法获取到标签的文本内容(text)的解决方法

selenium获取标签中的文本

python+selenium遍历某一个标签中的内容

在jQuery中,通过方法啥获取元素标签内容?

如何通过 Selenium 和 Python 从 html 标签跨度获取文本

解决python+selenium无法获取提示内容