try expect 识别这个错误'NavigableString' object has no attribute 'children'
时间: 2023-06-21 09:15:02 浏览: 139
jquery提示 object expected的解决方法
这个错误通常发生在使用 BeautifulSoup 解析 HTML 文档时,尝试对一个字符串类型的标签进行遍历子标签操作,而字符串类型的标签是没有子标签的。
要解决这个错误,可以在遍历之前判断当前标签是否为字符串类型,如果是,则跳过遍历子标签的操作。
下面是一个示例代码:
```python
from bs4 import BeautifulSoup
html = '<html><head><title>test</title></head><body><p>hello<span>world</span></p></body></html>'
soup = BeautifulSoup(html, 'html.parser')
for tag in soup.find_all():
if tag.string is None:
continue
for child in tag.children:
if isinstance(child, str):
continue
print(child)
```
在这个示例中,我们使用了 `isinstance` 判断当前子标签是否为字符串类型,如果是,则跳过遍历子标签的操作。这样就能够避免出现 'NavigableString' object has no attribute 'children' 的错误。
阅读全文