Noa*_*ela 6 python webdriver python-3.x playwright playwright-python
我想使用自动浏览器并使用 jupyter 笔记本单元而不是使用 .py 脚本执行我的步骤。这与名为 selenium 的浏览器自动化库配合得很好。
它不适用于名为 Playwright 的库。事实上它根本不起作用。我尝试了他们在手册中提供的每一行代码。jupyter 笔记本上什么都不起作用。只要将相同的代码复制粘贴到某个 .py 文件中并执行它,一切都可以在我的机器上正常运行。我正在谈论的各种示例可以在这里找到: https: //playwright.dev/python/docs/intro
我真的不明白为什么我无法让它在 jupyter 笔记本中工作,特别是如果它在几乎每个 .py 文件中都能正常工作的话。
编辑:显然它可以在 Mac 上运行,但我使用 Windows
l m*_*zhi 10
下面的代码适用于 MacOS 和 Linux。
如https://github.com/microsoft/playwright-python/issues/480中所述
Jupyter Notebook 使用 asyncio 事件循环,因此您应该使用 async api。
from playwright.async_api import async_playwright
playwright = await async_playwright().start()
browser = await playwright.chromium.launch(headless = False)
page = await browser.new_page()
await page.goto("http://whatsmyuseragent.org/")
# await page.screenshot(path="example.png")
# await browser.close()
# await playwright.stop()
Run Code Online (Sandbox Code Playgroud)
如果你使用syncAPI,它会抛出这样的错误:
from playwright.sync_api import sync_playwright
playwright = sync_playwright().start()
'''
Error: It looks like you are using Playwright Sync API inside the asyncio loop.
Please use the Async API instead.
'''
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7329 次 |
| 最近记录: |