TikTok-Api icon indicating copy to clipboard operation
TikTok-Api copied to clipboard

Error: It looks like you are using Playwright Sync API inside the asyncio loop.[BUG] - Your Error Here

Open codingdudepy opened this issue 2 years ago • 2 comments

So im making a discord bot that will integrate this wrapper to get stuff like trending videos or to even download and insert those video but no matter what I do get this error

Webkit launch failed
Traceback (most recent call last):
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/TikTokApi/browser_utilities/browser.py", line 80, in __init__
    self.browser = get_playwright().webkit.launch(
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/TikTokApi/browser_utilities/browser.py", line 28, in get_playwright
    raise e
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/TikTokApi/browser_utilities/browser.py", line 26, in get_playwright
    playwright = sync_playwright().start()
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/playwright/sync_api/_context_manager.py", line 76, in start
    return self.__enter__()
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/playwright/sync_api/_context_manager.py", line 42, in __enter__
    raise Error(
playwright._impl._api_types.Error: It looks like you are using Playwright Sync API inside the asyncio loop.
Please use the Async API instead.
Ignoring exception in command trending:
Traceback (most recent call last):
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/discord/ext/commands/core.py", line 85, in wrapped
    ret = await coro(*args, **kwargs)
  File "main.py", line 23, in trending
    api = TikTokApi(custom_verify_fp=verify_fp)
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/TikTokApi/tiktok.py", line 116, in __new__
    cls._instance._initialize(
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/TikTokApi/tiktok.py", line 164, in _initialize
    self._browser = browser(**kwargs)
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/TikTokApi/browser_utilities/browser.py", line 85, in __init__
    raise e
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/TikTokApi/browser_utilities/browser.py", line 80, in __init__
    self.browser = get_playwright().webkit.launch(
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/TikTokApi/browser_utilities/browser.py", line 28, in get_playwright
    raise e
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/TikTokApi/browser_utilities/browser.py", line 26, in get_playwright
    playwright = sync_playwright().start()
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/playwright/sync_api/_context_manager.py", line 76, in start
    return self.__enter__()
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/playwright/sync_api/_context_manager.py", line 42, in __enter__
    raise Error(
playwright._impl._api_types.Error: It looks like you are using Playwright Sync API inside the asyncio loop.
Please use the Async API instead.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 939, in invoke
    await ctx.command.invoke(ctx)
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/discord/ext/commands/core.py", line 863, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "/home/runner/FruitfulAquaEnvironment/venv/lib/python3.8/site-packages/discord/ext/commands/core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: Error: It looks like you are using Playwright Sync API inside the asyncio loop.
Please use the Async API instead.

Here is my code as well

from TikTokApi import TikTokApi



@client.command()
async def trending(ctx):
    verify_fp = "verify_xxx"
    api = TikTokApi(custom_verify_fp=verify_fp)


    # Bytes of the TikTok video


    def check(message):
        return message.author == ctx.author and message.channel == ctx.channel


    for video in api.trending.videos():
      await ctx.send(video.id)

codingdudepy avatar Feb 28 '22 05:02 codingdudepy

I'm having the same problem. Have you find out the way to fix it?

Simone0401 avatar Mar 16 '22 15:03 Simone0401

I resolve with using sudo playwright install-deps, if u are on Colab u have to restart the runtime

RiccardoTOTI avatar Mar 17 '22 15:03 RiccardoTOTI

V6 fully async

davidteather avatar Aug 08 '23 22:08 davidteather