注意:此方式只适用于同浏览器多个账户运行js脚本,不是此情况不适用
1.同一个进程的Edge浏览器有多个账户数据

2.同一个进程的Edge浏览器多个账户打开的浏览器窗口都需要安装浏览器插件
需要把浏览器插件下载到本地电脑,解压出来,多复制几份重命名一下,分别加载到浏览器各用户窗口里,它们会生出不同的浏览器插件id,复制出来id用

3.同一个进程的Edge浏览器多个账户打开的浏览器窗口浏览器插件连接qk与其通信(连接原理是,那个浏览器账户窗口的浏览器插件最新连接成功,就其浏览器窗口受控)
通过浏览器插件id对要控制的浏览器账户窗口进行浏览器插件重新加载来获取其窗口的连接控制权
子程序 https://getquicker.net/subprogram?id=995ee26c-461c-4d5f-bde9-08de2f5ca06e
测试动作 https://getquicker.net/Sharedaction?code=c9d72223-77fc-4a95-bdee-08de2f5ca06e
测试动作无法录制,录制时无法正常运行,无法提供演示视频

测试发现在浏览器插件里使用这个命令 await chrome.debugger.getTargets()
获取的信息数组的第一个元素字典的"id": "616870C39C400A33924A508F6AA3FD91"。这个信息在一个浏览器插件里是唯一的,且在的同浏览器不同用户账户加载的浏览器插件是不同的,
这些特征应该适合用过作为判断浏览器用户账户不同的依据
打开浏览器加载插件后这个id信息是不变的,再重新加载插件后或重新打开浏览器又会生成一个新的ID信息
这个信息可以在之后测试的时候作为一个参考
如:
[
{
"attached": false,
"id": "616870C39C400A33924A508F6AA3FD91",
"title": "Service Worker chrome-extension://hcnknmobjnlekfkbcllhcoldbppkgpda/background/background.js",
"type": "worker",
"url": "chrome-extension://hcnknmobjnlekfkbcllhcoldbppkgpda/background/background.js"
},
{
"attached": false,
"id": "AF1DE62F0EAF461A1C4A944AD00FEB72",
"tabId": 753884627,
"title": "扩展",
"type": "page",
"url": "edge://extensions/"
},
{
"attached": false,
"faviconUrl": "https://getquicker.net/favicon.ico",
"id": "D04D3CFB8BD4E339E1F05256E4FBD390",
"tabId": 753884498,
"title": "同浏览器多个账户运行js脚本的解决方案2(用的Edge浏览器测试)-自动化切换加载插件 - Quicker",
"type": "page",
"url": "https://getquicker.net/QA/Question/37136"
}
]
