我已经从
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:
我发现的另一个问题是它没有打开最大化,这真的很奇怪。
感谢帮助欣赏。