Асинхронный запуск selenium

ratata

Новичок
Пользователь
Дек 29, 2021
37
1
8
Мне нужно одновременно запустить 2 браузера через webdriver и авторизоваться под разными аккаунтами, пытаюсь сделать это через асинхронку, но запуск браузеров все равно происходит поочередно, как обычные функции

Python:
items = [
        {'login': 'name', 'password': '123', 'proxy': 'proxy'},
        {'login': 'name', 'password': '123', 'proxy': 'proxy'}
        ]

async def main(userUsername, userPassword, proxy):
    driver = webdriver.Chrome(CHROMEDRIVERPATH, seleniumwire_options = proxy)
    driver.get(url)
    time.sleep(10)
    
async def xxx():
    async with aiohttp.ClientSession() as session:
        tasks = []
        for item in items:
            userUsername = item['login']
            userPassword = item['password']
            proxy = item['proxy']
            task = asyncio.create_task(main(userUsername, userPassword, proxy))
            tasks.append(task)
        
        await asyncio.gather(*tasks)
asyncio.run(xxx())
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
971
219
43
20
Москва
Ну так асинхронность так и работает, selenium на сколько я помню не работает с асинхронностью, ну и как минимум ты блокируешь поток через time.sleep
 

Форум IT Специалистов