pyppeteer 远程调试(连接已打开的浏览进行操作)

使用端口模式启动浏览器

找到chromium安装位置,默认位置如下
C:\Users\user\AppData\Local\pyppeteer\pyppeteer\local-chromium\588429\chrome-win32
cmd 执行chrome.exe --disable-infobars --remote-debugging-port=9222
在这里插入图片描述
在打开的chromium 浏览器输入http://localhost:9222/json查看连接信息

[ {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:9222/devtools/page/6CB00490AAA1F35C7B5BCBE39D487B6B",
   "id": "6CB00490AAA1F35C7B5BCBE39D487B6B",
   "title": "随时随地使用 Chromium",
   "type": "page",
   "url": "http://localhost:9222/json",
   "webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/6CB00490AAA1F35C7B5BCBE39D487B6B"
} ]

webSocketDebuggerUrl就是要在程序中连接的地址(即下方测试demo中的连接参数browserWSEndpoint)
在这里插入图片描述

测试demo

import asyncio
import random
from pyppeteer.launcher import connect
 
 
useragents=['Mozilla/5.0 (Windows NT 6.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','Mozilla/5.0 (Windows NT 6.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36','Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36']
 
async def main(url):
    connect_params={
        'browserWSEndpoint': 'ws://localhost:9222/devtools/page/6CB00490AAA1F35C7B5BCBE39D487B6B',
'logLevel':3,
    }
    browser = await connect(connect_params)
    page = await browser.newPage()   # 启动个新的浏览器页面
    await page.setUserAgent(random.choice(useragents))
    #设置页面超时时间
    page.setDefaultNavigationTimeout(1000*60) #60s
    #启用js
    await page.setJavaScriptEnabled(True)
    await page.setViewport({'width':1300,'height':750}) #设置界面
    try:
        await page.goto(url)    # 访问登录页面
    except Exception as e1:
        print('e1:',e1)
        await page.close()
        await browser.close()
        return
  
 
if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    url = 'https://www.baidu.com'
    m = main(url)
    loop.run_until_complete(m)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值