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

在Firefox控制台运行脚本遇import语法错误,如何修复?

问题解答:Firefox控制台运行Python脚本出现语法错误的原因与解决方法

错误原因

你在Firefox浏览器控制台中运行了Python脚本,但浏览器控制台的执行环境是JavaScript,两种语言的语法和运行环境完全不兼容:

  • 报错信息Uncaught SyntaxError: import declarations may only appear at top level of a module是JavaScript的语法错误——浏览器把Python的import语句当成了JS的模块导入语法,但JS的import规则和Python完全不同,且这本身就不是正确的JS代码。
  • Python的sys.argv、open()等语法和API在JavaScript环境中不存在,根本无法执行。

解决方法

方法1:用Python环境正确运行脚本

这是最适配你现有代码的方式,因为你的代码本身是Python编写的:

  1. 把代码保存为后缀为.py的文件(比如instagram_likes.py)
  2. 打开系统终端/命令提示符,运行命令:
    python instagram_likes.py 你的日志文件路径 要输出的条目数量
    
    示例:python instagram_likes.py network_log.json 10

方法2:修改为JavaScript代码适配浏览器环境(如果需要在控制台运行)

如果一定要在Firefox控制台处理,需要把Python逻辑转换成JavaScript,以下是适配后的代码示例:

// 注意:浏览器无法直接读取本地文件,需手动传入日志数据
const logData = /* 这里粘贴你的network log的JSON内容 */;
const iters = 10; // 自定义要输出的条目数量

const m = {};
for (const x of logData.log.entries) {
    const ls = JSON.parse(x.response.content.text).items;
    for (const y of ls) {
        m[y.code] = y.like_count;
    }
}

// 按点赞数从高到低排序
const sortedEntries = Object.entries(m).sort((a, b) => b[1] - a[1]);

let count = 1;
for (const [code, likeCount] of sortedEntries) {
    const link = `https://www.instagram.com/p/${code}/`;
    console.log(link, likeCount);
    count++;
    if (count > iters) break;
}

使用说明:

  • 复制你的日志文件内容,替换代码中/* 这里粘贴你的network log的JSON内容 */部分
  • 在Firefox控制台粘贴修改后的代码执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 23:30:07