原理很简单,通过 websocket 通信 https://github.com/inu1255/debugirl
简单写了个服务端,可以获取 V2EX 的用户名。 可以看到跟写 chrome 插件的体验基本一致。
async function start() {
let tabs = await chrome.tabs.query({
url: "https://www.v2ex.com/",
});
let tab = tabs[0];
if (!tab) {
tab = await chrome.tabs.create({
url: "https://www.v2ex.com/",
index: 0,
active: false,
});
}
if (tab.status != "complete") await waitComplete(tab);
let name = await chrome.scripting.executeScript({
target: {tabId: tab.id},
func: function () {
return document.querySelector(".bigger").innerText;
},
});
console.log("your V2EX username is:", name);
}
1
Puteulanus 2023-10-19 18:46:33 +08:00 1
和 selenium 比的优势是什么呢
|
2
testonly 2023-10-19 18:55:25 +08:00
好像不错,能顺滑如丝的跑的话可以用来做电商,爬虫之类?
|
3
sakura6264 2023-10-19 21:49:27 +08:00
可以当后门?
|
4
qile1 2023-10-20 18:49:56 +08:00 via Android
没明白怎么控制浏览器,能不能实时看到用户点了什么,或者帮助用户点击某个选项提交表单
|
5
lqzhgood 2023-10-24 10:09:49 +08:00
看上去的流程是:
- 提前写好插件代码 - 让对方安装插件 - 插件后台运行获取数据 - 通过 websocket 发回结果给 server 还是说有个后端管理平台,可以通过 ws 发送任意代码到插件,然后 eval 执行获取结果通过 wx 返回 ? |