Python名称错误:名称未定义问题

Python名称错误:名称未定义问题,python,selenium-webdriver,web-scraping,webdriver,Python,Selenium Webdriver,Web Scraping,Webdriver,当我运行此代码时,显示了一个错误。我对足球比赛中删除两个或两个以上日期的代码做了一些修改。我使用了webdriver,但当while结束时,它显示了一个错误。首先我插入了链接,第二次我插入了日期,例如2010-2014,但当我完成该过程时,我出现了以下错误: Error NameError: name 'url_list' is not defined 代码如下: from time import sleep from urllib.parse import urlparse from

当我运行此代码时,显示了一个错误。我对足球比赛中删除两个或两个以上日期的代码做了一些修改。我使用了
webdriver
,但当while结束时,它显示了一个错误。首先我插入了链接,第二次我插入了日期,例如2010-2014,但当我完成该过程时,我出现了以下错误:

Error NameError: name 'url_list' is not defined 
代码如下:

from time import sleep

from urllib.parse import urlparse

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException


def get_urls_season(url_path):

    driver = webdriver.Chrome()
    driver.fullscreen_window()
    driver.get("https://us.soccerway.com" + url_path)
    click_privacy_policy(driver)
    date = date_selector(driver)
        #url_list = cycle_through_game_weeks(driver)
    url_list.reverse()
    driver.quit()

    print("=" * 100)
    print(f"{len(set(url_list))} find")

    if input("con? (y/n): ") != "y":
        exit()

    return url_list
def date_selector(driver):
    inptdate=''
    startdate=inptdate.split('-')[0]
    enddate=inptdate.split('-')[1]

    while int(startdate)< int(enddate):
        textstring=str(startdate) + "/" + str(int(startdate)+1)
        print(textstring)
        driver.find_element_by_xpath("//select[@name='season_id']/option[text()='" + textstring +"']").click()
        startdate=int(startdate)+1
        url_list = cycle_through_game_weeks(driver)

def click_privacy_policy(driver):
    try:
        driver.find_element_by_class_name("qc-cmp-button").click()
    except NoSuchElementException:
        pass


def cycle_through_game_weeks(driver):
    season_urls = get_fixture_urls(innerhtml_soup(driver))

    while is_previous_button_enabled(driver):
        click_previous_button(driver)
        sleep(2)

        urls = get_fixture_urls(innerhtml_soup(driver))


        urls.reverse()
        season_urls += urls

    return season_urls


def is_previous_button_enabled(driver):
    return driver.find_element_by_id(
        "page_competition_1_block_competition_matches_summary_5_previous"
    ).get_attribute("class") != "previous disabled"


def click_previous_button(driver):
    driver.find_element_by_id(
        "page_competition_1_block_competition_matches_summary_5_previous"
    ).click()


def get_fixture_urls(soup):

    urls = []
    for elem in soup.select(".info-button.button > a"):
        urls.append(urlparse(elem.get("href")).path)
    return urls


def innerhtml_soup(driver):

    html = driver.find_element_by_tag_name("html").get_attribute("innerHTML")
    soup = BeautifulSoup(html, "html.parser")
    return soup
从时间导入睡眠
从urllib.parse导入urlparse
从bs4导入BeautifulSoup
从selenium导入webdriver
从selenium.common.Exception导入NoTouchElementException
def获取url季节(url路径):
driver=webdriver.Chrome()
驱动程序。全屏_窗口()
驱动程序。获取(“https://us.soccerway.com“+url_路径)
单击\u隐私\u策略(驱动程序)
日期=日期选择器(驱动程序)
#url\u列表=循环\u至\u游戏\u周(驱动程序)
url_list.reverse()
driver.quit()
打印(“=”*100)
打印(f“{len(set(url_list))}find”)
如果输入(“con?(y/n):”)=“y”:
退出()
返回url\u列表
def日期选择器(驾驶员):
输入日期=“”
startdate=inptdate.split('-')[0]
enddate=inptdate.split('-')[1]
当int(开始日期)a”):
append(urlparse(elem.get(“href”)).path)
返回URL
def innerhtml_汤(驱动程序):
html=驱动程序。通过标记名称(“html”)查找元素。获取属性(“innerHTML”)
soup=BeautifulSoup(html,“html.parser”)
返汤
我需要解决此问题:
name错误:名称未定义
问题。

您(或某人)注释掉了一行代码:

#url_list = cycle_through_game_weeks(driver)
如果将其注释掉,则不会设置该变量,而是设置下一行:

url_list.reverse()
正在尝试使用该变量


取消第一行的注释怎么样?为什么它首先被注释掉了?

取消注释您的
\url\u list=cycle…
行。代码中还有很多隐式返回。您可能应该更改所有函数以显式返回。此外,您可能不应该在代码<> GETYURURLSYMENT/<代码>函数的中间<代码> EXECU/<代码>,因为这会使函数的行为不一致。返回一些合理的内容。你能帮我解决这个问题吗?因为明天我需要在def_选择器中插入url_list=cycle_to_game_weeks(驱动程序)