Selenium无法获取到标签的文本内容怎么办?

发表于:2022-11-25 09:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Jason_WangYing    来源:CSDN

  在我们使用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 标签。
  我们看下最终的效果:
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号