Python selenium: UnboundLocalError: local variable 'followin' referenced before assignment

Python selenium: UnboundLocalError: local variable 'followin' referenced before assignment

代码块:

class accinfo():
    def getfolowing(acclink):
        time.sleep(2)
        profileurl = "https://instagram.com/" + (acclink) + "/"
        browser.get(profileurl)
        time.sleep(2)
        wait.until(EC.visibility_of_element_located(
            (By.XPATH, '//*[@id="react-root"]/section/main/div/header/section/ul/li[3]/a/div'))).click()

        ##accinfo.scroldownflowng()
        following = []
        following = browser.find_elements(By.CLASS_NAME, 'notranslate._0imsa')
        for followin in following:
            print(followin.text)
        print(len(followin))


time.sleep(10)
accinfo.goprofile(hedefhesap, loginfo1)
accinfo.getfollower(hedefhesap)
accinfo.getfolowing(hedefhesap)

我遇到了错误,我该如何解决?

Traceback (most recent call last):
  File "C:/Users/ayarb/PycharmProjects/instagrambotv1/main.py", line 112, in <module>
    accinfo.getfolowing(hedefhesap)
  File "C:/Users/ayarb/PycharmProjects/instagrambotv1/main.py", line 62, in getfolowing
    print(len(followin))
UnboundLocalError: local variable 'followin' referenced before assignment

您尝试使用您在此处创建的局部变量 followin:

for followin in following:

你最好在使用前初始化变量。只需添加:

followin = null

开头

P.S.

当您使用循环 for 时,您创建了一个仅存在于循环中的局部变量。当你退出循环时,你的变量 followin 就消失了。

这个错误信息...

UnboundLocalError: local variable 'followin' referenced before assignment

...意味着您甚至在为变量赋值之前就已经引用了变量 followin


list following 是用 0 元素创建的,即

print(len(followin))

将打印 0。

但甚至在 for() 循环之前,您已经尝试通过变量 followin[= 迭代列表元素34=] 永远不会被初始化。因此您会看到错误。