如何使用 PyPpeteer Asyncio 运行多浏览器?

问题描述 投票:0回答:0

我已经从

vb.net to Python
转移了,因为我认为它是一个很好的编码程序,我只是喜欢它,但是我在 Visual Studio 中使用 PuppeteerSharp,我不想改变所以我发现 Python 中的 PyPppeteer 工作几乎相同但是所以很多东西需要改进,教程或 Github 代码太少,imo API 也不是很好。
所以我正在寻找一些可以给我建议的高级高级开发人员的解决方案
how do I run multi-browser with asyncio
.

我的代码使用带有我自己的用户配置文件和书签的真实 chrome 浏览器的外部路径,因为我不喜欢使用 chromium 或 selenium 驱动程序,所以这是我的代码,可以运行 1 个线程“一个浏览器”。

import asyncio, time
from pyppeteer import launch
from pyppeteer_stealth import stealth



async def startBrowser():

    _executablePath = 'C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe' 
    _userDataDir = 'C:\\Users\\PC_USERNAME\\AppData\\Local\\BraveSoftware\\Brave-Browser\\user'
    args = [
            '--disable-notifications',
            '--start-maximized',
            '--hide-scrollbars',
            '--no-sandbox',
            '--disable-setuid-sandbox'
    ]

    browser = await launch({
        'headless': False,
        'slowMo': 5,
        'options': {'args': args}, 
        'executablePath': _executablePath,
        'userDataDir': _userDataDir,
        'ignoreDefaultArgs': ["--disable-extensions", "--enable-automation"],
        'defaultViewport': None
    })

    context = await browser.createIncognitoBrowserContext()
    page = await context.newPage()
    await stealth(page)
    url = 'https://dnsleaktest.com'
    await page.goto(url,  {'waitUntil' : 'domcontentloaded'})
    


if __name__ == "__main__":
    try:
        amount_of_browser_to_lunch = 2
        while True:
            for i in range(amount_of_browser_to_lunch):
                asyncio.run(startBrowser())        
    except Exception as e:
        pass

注意:
当我运行 chromium 时,它会使用多线程浏览器,但我需要我自己的带有配置文件和扩展的真实浏览器。

注意 2:
我发现的另一个问题是它没有打开最大化,这真的很奇怪。

感谢帮助欣赏。

multithreading browser python-asyncio pyppeteer
© www.soinside.com 2019 - 2024. All rights reserved.