-1

我该如何解决这个错误?

代码

def sv():
    url = url2
      
    resp=requests.get(url) 

    if resp.status_code==200:
        print("Managed to connect to the website.")
        print("Info :-\n")

        soup=BeautifulSoup(resp.text,'html.parser')    

        l=soup.find("h2",{"class":"etikett bottom-spacing-medium"})
      
        for i in l.findAll("a"):
            print(i.text)
    else:
        print("Error")

sv()

错误

Traceback (most recent call last):
  File "c:\Users\----\Desktop\Python\Biler.py", line 41, in <module>
    sv()
  File "c:\Users\----\Desktop\Python\Biler.py", line 36, in sv
    for i in l.findAll("a"):
AttributeError: 'NoneType' object has no attribute 'findAll'

问题

我已经被这个错误困住了一段时间。任何人都知道如何修复错误。

4

1 回答 1

0

错误信息

AttributeError:“NoneType”对象没有属性“findAll”

当您的对象为空时发生,在这种情况下您的代码:

        l=soup.find("h2",{"class":"etikett bottom-spacing-medium"})

未返回任何结果,这意味着生成的页面没有您要查找的对象,或者加载未成功完成,或者其他一些问题导致页面不一样。

最简单的做法是调试程序,获取网页的值resp.text并将其与您的预期结果进行比较,以了解页面的变化情况。

于 2021-10-08T11:15:31.023 回答