Files
Priceflow/inspect_local_playwright.py
T

48 lines
1.6 KiB
Python

import asyncio
import logging
import os
from playwright.async_api import async_playwright
# Configure logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
async def inspect_local():
url = "https://www.lincroyable.fr/recherche-query=iphone/"
print(f"Inspecting {url} using local Playwright...")
async with async_playwright() as p:
# Launch local browser (headless=True matches server environment usually, but we can try False to see)
browser = await p.chromium.launch(headless=True)
context = await browser.new_context(
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
)
page = await context.new_page()
try:
logging.info(f"Navigating to {url}")
await page.goto(url, timeout=30000)
logging.info("Navigation successful")
content = await page.content()
with open("lincroyable_local_dump.html", "w", encoding="utf-8") as f:
f.write(content)
print("HTML dumped to lincroyable_local_dump.html")
await page.screenshot(path="lincroyable_local.png")
print("Screenshot saved to lincroyable_local.png")
except Exception as e:
logging.error(f"Error: {e}")
try:
await page.screenshot(path="lincroyable_error.png")
except:
pass
finally:
await browser.close()
if __name__ == "__main__":
asyncio.run(inspect_local())