python - BeautifulSoup Python NoneType 对象没有属性“文本”
问题描述
我正在尝试使用 selenium 和 beautifulsoup 4抓取一个加载了 javascript 的网站https://e-consulta.sunat.gob.pe/cl-at-ittipcam/tcS01Alias 。
但是,当尝试从树中检索元素或子项(子分支)时,我收到此错误
bloquefecha=bloque.find('div[@class="date"]').text
AttributeError:“NoneType”对象没有属性“文本”
这是我的代码:
def beautifulseleniumsunat2():
navegador = webdriver.Chrome()
navegador.get("https://e-consulta.sunat.gob.pe/cl-at-ittipcam/tcS01Alias")
time.sleep(7) # esperamos 7 segundos a que cargue la pagina
pagsunat = navegador.page_source
soup = BeautifulSoup(pagsunat, "html.parser")
print (soup.prettify())
bloquesdias2 = soup.select('td[class*="table-bordered calendar-day current"]')
listafecha = []
listacompra=[]
listaventa=[]
for bloque in bloquesdias2:
bloquefecha=bloque.find('div[@class="date"]') #ALSO tried with findall and iterating with FOR loop on each element but ERROR says it's not iterable
listafecha.append(bloquefecha.text)
bloquecompra=bloque.find('div[@class="event normal-all-day begin end"]') #ALSO tried with findall and iterating with FOR loop on each element but ERROR says it's not iterable
listacompra.append(bloquecompra.text)
bloqueventa = bloque.find('div[@class="event pap-all-day begin end"]') #ALSO tried with findall and iterating with FOR loop on each element but ERROR says it's not iterable
listaventa.append(bloquecompra.text)
listafinal=[listacompra,listaventa,listafecha]
print (listafinal)
解决方案
find()
None
当它找不到您要查找的 div 时返回,因此您的代码正在调用None.text
这就是 Python 抱怨NoneType
(即None
对象)没有属性的原因text
。
从Beautiful Soup 文档中,您需要将该类作为单独的参数传递给find()
:
bloque.find("div", { "class" : "date" }).text
推荐阅读
- python - TypeError:'float'对象在 Python 中不可迭代......昨天还在工作
- c# - 使用 SelectToken JObject 递归列出元素 JSON
- xcode - 由于升级到 Xcode 12,无法将自定义 plist 文件添加到产品目标
- php - 在 nginx 上安装 roundcube 会导致 HTTP ERROR 500
- java - springboot logback:java.lang.ClassNotFoundException:org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout
- javascript - 使用新插入的内容滚动到 div 的底部
- linux - 创建 Lightsail 实例并安装 CodeDeploy 代理
- vue.js - 更改 element-ui Select 中的图标
- python - 为什么我的石头剪刀布游戏不启动while循环?
- jenkins - 如何在詹金斯中获得并行构建作业结果