Code: Select all
sync_playwright
Code: Select all
from fastapi import FastAPI
import asyncio
from playwright.sync_api import sync_playwright
app = FastAPI()
def sync_search_kroger(query: str):
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
page.goto(f"https://www.kroger.com/search?query={query}")
# extract product links...
browser.close()
@app.get("/search_kroger")
async def search_kroger(query: str):
loop = asyncio.get_event_loop()
return await loop.run_in_executor(None, sync_search_kroger, query)
< /code>
Aber wenn ich es ausführe, erhalte ich den folgenden Fehler: < /p>
NotImplementedError
File ".../playwright/_impl/_transport.py", line ...
self._proc = await asyncio.create_subprocess_exec(...)
< /code>
🔍 Was ich ausprobiert habe: < /h2>
[list]
[*] Ich weiß, dass ProactoreventLoop < /code> die Standardeinstellung unter Windows ist und nicht unterstützt und nicht eingestellt wurde. asyncio.set_event_loop_policy (asyncio.windowSelectorEventLoopPolicy ())
Können Sie ein funktionierendes Beispiel angeben, das Produktlinks von einer Kroger -Suchseite zurückgibt? />FastAPI + Uvicorn
[*]Windows 10
[*]Playwright v1.43+
[*]Goal: Extract product links like https://www.kroger.com/p/{upc} from search results
[/list]