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

Selenium WebDriver中“continue未在循环内”错误的解决方法

问题解决:"continue未正确处于循环内"错误

错误原因

continue是专门用来跳过当前循环剩余语句、进入下一次循环的关键字,只能在for或while循环内部使用。你这段scrape函数里没有任何循环结构,两处continue都不符合语法要求,所以触发了报错。

修复方案

根据你的代码逻辑,这里的continue应该是想在遇到异常/操作失败时提前终止当前函数执行,或者实现失败重试的逻辑,以下是两种可行的修复方式:

方案1:提前终止函数(替换为return)

如果遇到URL加载失败、评论按钮点击失败时,直接结束函数并返回对应结果:

def scrape(self, url):
    try:
        self.driver.get(url)
    except Exception as e:
        self.driver.quit()
        # 加载失败,返回空值或自定义失败标记
        return None
    time.sleep(10)

    self.click_open_close_time()
    self.get_location_data()
    self.get_location_open_close_time()
    self.get_popular_times()
    if not self.click_all_reviews_button():
        self.driver.quit()  # 记得关闭浏览器驱动
        return None
    time.sleep(5)
    self.scroll_the_page()
    self.expand_all_reviews()
    self.get_reviews_data()
    self.driver.quit()

    return self.location_data

方案2:添加循环实现重试逻辑

如果想在URL加载失败时自动重试几次,可以把核心逻辑放到while循环里:

def scrape(self, url, max_retries=3):
    retries = 0
    while retries < max_retries:
        try:
            self.driver.get(url)
            break  # 加载成功,跳出重试循环
        except Exception as e:
            retries += 1
            if retries >= max_retries:
                self.driver.quit()
                return None
            # 重试前等待3秒,避免频繁请求触发反爬
            time.sleep(3)
    time.sleep(10)

    self.click_open_close_time()
    self.get_location_data()
    self.get_location_open_close_time()
    self.get_popular_times()
    if not self.click_all_reviews_button():
        self.driver.quit()
        return None
    time.sleep(5)
    self.scroll_the_page()
    self.expand_all_reviews()
    self.get_reviews_data()
    self.driver.quit()

    return self.location_data

额外提醒

  • 爬取谷歌地图数据前要严格遵守谷歌的服务条款,避免触发反爬机制导致IP或账号被限制。
  • 固定时长的time.sleep()效率较低,建议改用WebDriverWait显式等待,等待页面元素加载完成后再执行操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:00:58