Puppeteer 使用itbrowser指纹浏览器教程

itbrowser指纹浏览器支持puppeteer自动化框架,无需修改代码只需要启动浏览器后使用cdp连接浏览器即可。
本文将介绍如何使用 Puppeteer 通过 Chrome DevTools Protocol (CDP) 连接到一个已经运行的浏览器实例。我们将提供 JavaScript、Python 和 C# 三种语言的实现示例。具体怎么启动itbrowser浏览器可以看教程 调试模式启动chrome

JavaScript 实现cdp连接chrome浏览器

使用 puppeteerpuppeteer-core 包:

 1const puppeteer = require('puppeteer-core');
 2
 3(async () => {
 4  // 连接到已运行的浏览器
 5  const browserURL = 'http://127.0.0.1:9222';
 6  const browser = await puppeteer.connect({
 7    browserURL,
 8    defaultViewport: null
 9  });
10
11  // 获取已打开的页面列表
12  const pages = await browser.pages();
13  console.log(`已找到 ${pages.length} 个打开的页面`);
14
15  // 使用第一个页面
16  const page = pages[0];
17  await page.goto('https://example.com');
18  console.log(await page.title());
19
20  // 或者打开新页面
21  const newPage = await browser.newPage();
22  await newPage.goto('https://google.com');
23  console.log(await newPage.title());
24
25  // 断开连接(不会关闭浏览器)
26  await browser.disconnect();
27})();

Python 实现cdp连接chrome浏览器

使用 pyppeteer 包:

 1import asyncio
 2from pyppeteer import connect
 3
 4async def main():
 5    # 连接到已运行的浏览器
 6    browser = await connect({
 7        'browserURL': 'http://127.0.0.1:9222',
 8        'defaultViewport': None
 9    })
10    
11    # 获取已打开的页面列表
12    pages = await browser.pages()
13    print(f'已找到 {len(pages)} 个打开的页面')
14    
15    # 使用第一个页面
16    page = pages[0]
17    await page.goto('https://example.com')
18    print(await page.title())
19    
20    # 或者打开新页面
21    new_page = await browser.newPage()
22    await new_page.goto('https://google.com')
23    print(await new_page.title())
24    
25    # 断开连接(不会关闭浏览器)
26    await browser.disconnect()
27
28asyncio.get_event_loop().run_until_complete(main())

C# 实现cdp连接chrome浏览器

使用 PuppeteerSharp 包:

 1using System;
 2using System.Threading.Tasks;
 3using PuppeteerSharp;
 4
 5class Program
 6{
 7    public static async Task Main()
 8    {
 9        // 连接到已运行的浏览器
10        var options = new ConnectOptions()
11        {
12            BrowserURL = "http://127.0.0.1:9222",
13            DefaultViewport = null
14        };
15        
16        var browser = await Puppeteer.ConnectAsync(options);
17        
18        // 获取已打开的页面列表
19        var pages = await browser.PagesAsync();
20        Console.WriteLine($"已找到 {pages.Length} 个打开的页面");
21        
22        // 使用第一个页面
23        var page = pages[0];
24        await page.GoToAsync("https://example.com");
25        Console.WriteLine(await page.GetTitleAsync());
26        
27        // 或者打开新页面
28        var newPage = await browser.NewPageAsync();
29        await newPage.GoToAsync("https://google.com");
30        Console.WriteLine(await newPage.GetTitleAsync());
31        
32        // 断开连接(不会关闭浏览器)
33        await browser.DisconnectAsync();
34    }
35}