JsRpc 使用教程
【免费下载链接】JsRpc 远程调用(rpc)浏览器方法,免去抠代码补环境 项目地址: https://gitcode.com/gh_mirrors/js/JsRpc
1. 项目介绍
JsRpc 是一个基于 WebSocket 的远程过程调用(RPC)框架,允许开发者通过 WebSocket 协议从服务器端调用浏览器中的 JavaScript 函数。这种机制免去了在浏览器环境中手动编写和调试 JavaScript 代码的麻烦,特别适合于需要进行网页自动化、爬虫、或者网页内数据交互的场景。
2. 项目快速启动
环境准备
- Go 语言环境
- Node.js 环境(用于运行前端示例)
启动服务
首先,克隆项目到本地:
git clone https://github.com/jxhczhl/JsRpc.git
cd JsRpc
然后,编译并运行 Go 服务端:
go build -o JsRpc main.go
./JsRpc
启动前端示例
在另一个终端中,进入 JsEnvDemo 目录,并启动前端服务:
cd JsEnvDemo
npm install
npm start
打开浏览器,访问 http://localhost:8080,可以看到示例页面。
注入 JavaScript 环境
在页面的开发者工具控制台中,粘贴以下代码来注入 JsRpc 的前端环境:
// 从服务器获取 JsEnv_De.js 脚本并注入
var script = document.createElement('script');
script.src = 'http://localhost:12080/resouces/JsEnv_De.js';
document.body.appendChild(script);
3. 应用案例和最佳实践
案例一:网页数据抓取
假设我们需要从一个网页中抓取一些动态加载的数据,可以注册一个 JavaScript 函数来获取数据,并通过 JsRpc 将数据发送到服务器。
- 在浏览器控制台中注册函数:
var client = new Hlclient('ws://localhost:12080/ws?group=rpcDemo');
client.regAction('fetchData', function(resolve) {
// 这里编写获取数据的 JavaScript 代码
var data = document.getElementById('someElement').innerText;
resolve(data);
});
- 在服务器端调用该函数:
curl -X POST http://localhost:12080/go -d 'group=rpcDemo&action=fetchData'
案例二:自动化测试
自动化测试网页表单提交等操作,可以通过 JsRpc 在服务器端控制浏览器的行为。
- 注册自动化操作函数:
client.regAction('submitForm', function(resolve) {
document.getElementById('someForm').submit();
resolve('Form submitted');
});
- 触发自动化操作:
curl -X POST http://localhost:12080/go -d 'group=rpcDemo&action=submitForm'
4. 典型生态项目
目前,JsRpc 已经被应用于多个开源项目,例如:
- 网页自动化工具
- 爬虫框架
- 网页数据交互中间件
这些项目利用 JsRpc 的能力,实现了复杂的网页操作和数据抓取任务,极大地提高了开发效率。
【免费下载链接】JsRpc 远程调用(rpc)浏览器方法,免去抠代码补环境 项目地址: https://gitcode.com/gh_mirrors/js/JsRpc
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



