You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Python、Selenium和Flask代码中results变量为空问题

问题:Python+Selenium+Flask代码中results变量始终为空

我使用Python、Selenium和Flask编写了一段代码,但results变量始终为空,尝试了多种方法都未能解决问题,恳请各位帮忙排查原因。

可能的排查方向

  • 验证元素定位的准确性:确认你用于抓取数据的XPath、CSS选择器是否与页面实际元素匹配。页面加载完成后元素结构可能发生变化,建议添加显式等待确保元素加载完成:
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    # 等待目标元素组出现,最长等待10秒
    target_elements = WebDriverWait(driver, 10).until(
        EC.presence_of_all_elements_located((By.XPATH, "你的XPath表达式"))
    )
    
  • 检查页面动态加载情况:如果页面内容通过AJAX异步加载,直接执行元素定位可能无法获取到数据。可以通过浏览器开发者工具查看网络请求,确认数据是否已返回,或增加更长的等待时间等待动态内容渲染。
  • 确认Flask请求上下文逻辑:若results是在Flask请求处理流程中赋值,检查是否处于正确的请求上下文内,避免因异步操作、线程隔离等问题导致变量未被正确赋值。
  • 排查Selenium驱动兼容性:确保浏览器驱动(如ChromeDriver)与浏览器版本完全匹配,驱动能正常启动浏览器并加载目标页面。可以添加print(driver.page_source)输出当前页面源码,验证页面是否正确加载。
  • 检查赋值逻辑完整性:确认代码中是否存在遗漏results赋值的情况,比如赋值语句被错误的条件判断跳过,或抓取到元素后未将数据正确存入results变量。

内容的提问来源于stack exchange,提问作者iheb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:02:05