使用 Playwright 在异步代码中遇到 NotImplementedError:了解原因并寻求解决方案

Encountering NotImplementedError in Asynchronous Code with Playwright: Understanding the Cause and Seeking Solutions

提问人:Fashola John 提问时间:11/15/2023 最后编辑:ShawnFashola John 更新时间:11/15/2023 访问量:19

问:

我在使用 Playwright 运行异步代码时遇到了一个。您能帮助我了解此错误的根本原因并提出可能的解决方案吗?NotImplementedError

这是我运行的代码:html = await get_html(url, "#content .filter")

但我认为错误来自这里:

async def get_html(url, selector, sleep=5, retries=3):
    html = None
    for i in range(1, retries+1):
        time.sleep(sleep * i)
        try:
            async with async_playwright() as p:
                browser = await p.chromium.launch()
                page = await browser.new_page()
                await page.goto(url)
                print(await page.title())
                html = await page.inner_html(selector)
        except PlaywrightTimeout:
            print(f"Timeout error on {url}")
            continue
        else:
            break
    return html

我将 chromium 更改为 Firefox,但它仍然给我同样的错误

这是我运行的代码:html = await get_html(url, "#content .filter")

这就是我所期待的: 2015-16赛季NBA赛程 |Basketball-Reference.com

Web-scraping WebDriver 子进程 python-asyncio playwright

评论

0赞 ggorlen 11/15/2023
URL是什么?这段代码似乎没问题。
0赞 Paul Cornelius 11/16/2023
您永远不必猜测 Python 程序中的错误来自哪里。看看回溯。错误究竟在哪里?程序中的哪一行代码触发了问题?这在异步程序中可能并不总是容易理解,但它几乎总是开始故障排除的正确位置。

答: 暂无答案