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

如何不依赖Google Extension开发本地.exe程序实现网页定制?

可行的研究方向与实现建议

1. 基于浏览器自动化框架打包成独立exe

  • 选用Playwright或Selenium这类成熟的浏览器自动化工具,编写脚本实现「监听页面加载+注入自定义JS」的逻辑,再打包成exe。
    • 以Python+Playwright为例:
      1. 编写脚本:初始化Chromium实例,通过page.on('load', callback)监听页面加载完成事件,在回调里判断当前URL是否匹配目标网页,匹配则调用page.evaluate('自定义JS代码')或page.add_script_tag(path='本地JS文件路径')注入代码。
      2. 打包exe:用PyInstaller将脚本打包,加上--onefile参数生成单文件exe,注意要把Playwright的浏览器二进制文件一起打包(可通过playwright install chromium后指定路径)。
    • 优势:开发成本低,不需要深入底层,逻辑和Chrome扩展的内容脚本类似,易上手。

2. 基于Electron开发定制化浏览器exe

  • Electron本质是Chromium+Node.js的组合,可直接封装成桌面exe,相当于做一个自带注入逻辑的轻量浏览器:
    • 在Electron的主进程中,监听webContents的did-finish-load事件,当页面URL符合规则时,调用webContents.executeJavaScript()执行自定义代码;也可以通过preload脚本提前注入全局逻辑。
    • 打包方式:用Electron Builder将项目打包成Windows下的exe,可选择单文件或安装包形式。
    • 优势:完全可控的浏览器环境,不需要依赖用户本地的浏览器,可自定义窗口样式、启动参数等。

3. 底层Hook浏览器进程(进阶方向)

  • 如果需要作用于用户本地已安装的浏览器(而非自带浏览器),可研究Windows平台的进程Hook技术:
    • 用Frida这类动态插桩工具,Hook浏览器的网络请求处理函数(比如Chrome的URLRequest相关接口),修改响应内容插入自定义JS;或者Hook V8引擎的代码执行逻辑,在页面加载时注入代码。
    • 也可以通过Windows API(如SetWindowsHookEx)注入DLL到浏览器进程,再在DLL中实现JS注入逻辑。
    • 注意:这种方式需要熟悉Windows系统编程和浏览器底层机制,开发难度高,且可能面临浏览器版本兼容、安全软件拦截的问题。

额外注意事项

  • 权限问题:部分网页有CSP(内容安全策略)限制,注入的JS可能被拦截,需要在逻辑中处理CSP绕过(比如通过修改响应头、或在浏览器启动时添加--disable-web-security参数,仅测试使用,生产环境需谨慎)。
  • 目标网页匹配:建议用正则表达式匹配URL,避免误触发;可允许用户在exe的配置文件中自定义目标URL和注入代码,提升灵活性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 21:29:51