美文网首页
puppteer 远程控制

puppteer 远程控制

作者: sorry510 | 来源:发表于2021-06-24 17:38 被阅读0次

    远程控制原理

    chrome 使用 debug 模式开启,找到 chrome 所在目录执行如下命令chrome.exe --remote-debugging-port=53249,可以打开一个 websocket 通道,提供远程控制功能,在浏览器中输入 http://localhost:53249/json/version,可以得到 ws 连接地址如图

    m_3a6070afbad348565fa7d9b4ec745f63_r.png

    使用如下代码可以连接此浏览器

    const browser = await puppeteer.connect({
        browserWSEndpoint: 'ws://localhost:53249/devtools/browser/52fd0c9e-3f37-4b38-9c17-0c58e5f9bc43'
    });
    

    puppteer 中如何连接

    server 代码

    打开一个浏览器,并记录 ws 连接

    const puppeteer = require('puppeteer')
    const fs = require('fs')
    
    const browser = await puppeteer.launch({
          headless: false,
          defaultViewport: {
            width: 1900,
            height: 1400
          }
    })
        
    const wsEPAddress = browser.wsEndpoint()
    fs.writeFileSync(__dirname + '/ws', wsEPAddress)
    

    client 代码(可以多个同时控制)

    通过 ws 连接浏览器,进行远程控制

    const puppeteer = require('puppeteer')
    const fs = require('fs')
    const browserWSEndpoint = fs.readFileSync(__dirname + '/ws')
    
    const browser = await puppeteer.connect({
        browserWSEndpoint
    });
    const page = await browser.newPage();
    await page.goto('https://www.baidu.com', {
        timeout: 0,
        waitUntil: 'domcontentloaded'
    })
    
    

    相关文章

      网友评论

          本文标题:puppteer 远程控制

          本文链接:https://www.haomeiwen.com/subject/hbkgyltx.html