网页巡查

打开任意网站、读正文、点按钮、填表单、截图,把网页上的信息变成结论。适用于需要登录才能看的后台、需要点开才知道内容的页面。

网页巡查

结论先行

有两条可用路径,优先用 A(已验证、今天就能跑):

| 路径 | 状态 | 说明 |

| --- | --- | --- |

| A. 独立脚本 tools/web-patrol.mjs | ✅ 已验证(2026-11-03) | 无需重装应用,用系统 Edge 无头模式 + CDP |

| B. 产品内置巡查窗口(HTTP 接口) | ⚠️ 未验证 | 代码在 src/browser-control.js,需重新打包安装后才生效 |

A. 独立脚本(推荐)

基本用法


$NODE = "C:\Program Files\sanshan-kaiwu\resources\runtime\node.exe"
$P = "<产品仓库>\tools\web-patrol.mjs"

& $NODE $P open  --url "https://example.com"      # 打开(首次会自动启动无头浏览器)
& $NODE $P text                                    # 读正文(innerText,最多 4000 字)
& $NODE $P html  --selector "main"                 # 读指定区块 HTML
& $NODE $P click --selector "#login"               # 点按钮
& $NODE $P fill  --selector "#user" --value "abc"  # 填输入框(触发 input/change)
& $NODE $P eval  --js-file probe.js                # 执行 JS 并取值
& $NODE $P shot  --out "C:\path\shot.png"          # 整页截图
& $NODE $P close                                   # 关标签页

输出统一是 JSON:{"ok":true,...} 或 {"ok":false,"error":"..."}。

Windows 引号坑(必读)

--js 直接带引号的表达式会被 PowerShell 吞掉引号(实测报 Uncaught)。

一律把 JS 写进临时文件,用 --js-file:


Set-Content -Path "$env:TEMP\probe.js" -Value 'document.querySelector("#pairId").value' -Encoding UTF8
& $NODE $P eval --js-file "$env:TEMP\probe.js"

登录态

浏览器用固定 profile:%APPDATA%\三山开物\patrol-profile。

需要登录的站点:先用 open 打开登录页 → 改为有头模式(去掉脚本里的 --headless=new)登录一次 → 之后无头模式复用同一会话。

已验证记录(2026-11-03)

| 动作 | 对象 | 结果 |

| --- | --- | --- |

| open | http://43.142.50.8/ | title = 三山开物 · 三山之间,万物可造 |

| text | 同上 | 1144 字正文 |

| shot | 同上 | 329,745 字节 PNG |

| fill | https://git.zilvxingqiu.top/app/ 的 #pairId | 回读值 = demo-123 |

| eval | document.title | 三山开物 · 手机遥控 |

B. 产品内置巡查窗口(未验证)

src/browser-control.js 在 Electron 主线程里开一个独立会话窗口,暴露本地 HTTP 接口,

配置写在 %APPDATA%\三山开物\dsh-home\browser-control.json(只监听 127.0.0.1,令牌每次启动重新生成)。

注意:当前安装的是旧版安装包,接口未启动(找不到配置文件)。要用这条路径,必须先重新打包安装。

作业规范

1. 先读正文再动手:text 拿到页面结构,再决定点哪里;

2. 一次只做一个动作:open → text → 判断 → click/fill → text 复核;

3. 结论要带证据:把关键数字、标题、时间写进结论,不要只说"看过了";

4. 截图存档:涉及金额、审批、后台数据的,必须留 shot;

5. 不做:绕过验证码、批量注册、爬取需授权数据、伪造指纹。

验收清单