• 请不要在回答技术问题时复制粘贴 AI 生成的内容
v2dev
V2EX  ›  程序员

有没有用过 electron 的大佬,想请教一个问题

  •  1
     
  •   v2dev · Aug 28, 2019 via iPhone · 5039 views
    This topic created in 2625 days ago, the information mentioned may be changed or developed.

    目前有个需求是需要在 electron 里面获取当前主机浏览器打开的页面包括 dom 结构,请教大佬们有没有实现思路

    18 replies  •  2020-01-14 20:07:46 +08:00
    tqcenglish
    tqcenglish
    Aug 28, 2019
    1
    感觉这实现不了吧, 用 electron 做一个浏览器或许可能.
    cyberpoint
    cyberpoint
    Aug 28, 2019
    2
    写个浏览器扩展就可以了,不用 electron。
    shintendo
    shintendo
    Aug 28, 2019
    3
    怎么不上天……
    murmur
    murmur
    Aug 28, 2019
    4
    你这个得内置多少 webdriver 啊
    Valid
    Valid
    Aug 28, 2019
    5
    做不到的,没权限
    learnshare
    learnshare
    Aug 28, 2019
    6
    也不是不能做,只是自找麻烦
    写个代理工具,抓 content-type: text/html 的数据呗
    Hanggi
    Hanggi
    Aug 28, 2019 via iPhone
    7
    你这是从一个软件控制另一个软件,凭啥呢?
    Everyman
    Everyman
    Aug 28, 2019
    8
    理论上还是可以实现的,但是有限制,就是这个浏览器需要是通过你的 electron app 用代码唤起的,而不是用户自己手动打开的,并且该浏览器最好是 Chrome。涉及的知识:Chrome Headless、Chrome DevTools Protocol 等。
    方案:通过 puppeteer 唤起一个浏览器(Chrome),并设置启动参数为用户可见。然后你就拥有了这个浏览器 /当前标签页的控制全,可以通过代码跳转某 URL、截屏、打印、获取 DOM、模拟用户各种操作等。
    ZeoKarl
    ZeoKarl
    Aug 28, 2019 via iPhone
    9
    不合理的需求就应该怼回去
    auin
    auin
    Aug 29, 2019
    10
    产品要求 "electron 客户端根据用户的心情展现不同的颜色主题"
    nnnToTnnn
    nnnToTnnn
    Aug 29, 2019
    11
    有的读取三分程序的内存, 然后注入 dll,但是杀毒这一块就要考虑怎么过了,或者输入法注入,或者进程注入
    nnnToTnnn
    nnnToTnnn
    Aug 29, 2019
    12
    @shintendo
    @tqcenglish
    @nieyujiang
    @Hanggi
    @Valid

    从技术上来说是可以做到的,读取三方浏览器的 dom
    LeeSeoung
    LeeSeoung
    Aug 29, 2019
    13
    外置程序读取,不过这种读第三方浏览器 dom 的 风险相当高。。早期的灰产就是通过拦截第三方浏览器,修改页面内容。。
    guolaopi
    guolaopi
    Aug 29, 2019
    14
    用别的技术实现,封装成服务后,electron 去调用这个服务。
    骚一点的操作嘛,反正也算是“在 electron 里面”执行的。
    mikoshu
    mikoshu
    Aug 29, 2019
    15
    其实你可以吧 electron 伪装成他的浏览器。。。哈哈哈哈
    v2dev
    v2dev
    OP
    Aug 29, 2019
    16
    @nnnToTnnn 之前我们同事使用 dll 读取进程的方式进而可以获取到 dom,但也仅限于 IE 浏览器
    yokyj
    yokyj
    Aug 29, 2019
    17
    看起来你想要的是 carlo 而不是 puppeteer
    dtmind
    dtmind
    Jan 14, 2020
    18
    浏览器扩展,数据存本地,与你的 electron 应用做本地的数据交换,
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4578 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 09:38 · PVG 17:38 · LAX 01:38 · JFK 04:38
    ♥ Do have faith in what you're doing.