Files
tophux_scrape/test_stealth_fix.py

68 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
测试 playwright_stealth 修复
"""
import asyncio
from loguru import logger
from playwright.async_api import async_playwright
from playwright_stealth.stealth import Stealth
async def test_stealth():
"""测试 stealth 功能"""
logger.info("开始测试 playwright_stealth 功能")
try:
# 测试 Stealth 类导入和实例化
stealth = Stealth()
logger.success("Stealth 类实例化成功")
# 检查 Stealth 类的方法
methods = [m for m in dir(stealth) if 'apply' in m.lower()]
logger.info(f"Stealth 类包含的方法: {methods}")
# 测试 Playwright 浏览器启动
logger.info("测试 Playwright 浏览器启动...")
playwright = await async_playwright().start()
# 启动浏览器
browser = await playwright.chromium.launch(headless=True)
logger.success("Playwright 浏览器启动成功")
# 创建页面上下文
context = await browser.new_context()
page = await context.new_page()
logger.success("页面创建成功")
# 测试 stealth 应用
logger.info("测试应用 stealth 设置...")
await stealth.apply_stealth_async(page)
logger.success("stealth 设置应用成功")
# 关闭浏览器
await browser.close()
await playwright.stop()
logger.success("浏览器关闭成功")
logger.success("所有测试通过playwright_stealth 修复成功")
return True
except Exception as e:
logger.error(f"测试失败: {e}")
return False
async def main():
"""主函数"""
logger.info("=== playwright_stealth 修复测试 ===")
success = await test_stealth()
if success:
logger.info("✅ 修复成功!您现在可以正常运行 new_data_stealth.py")
logger.info("运行命令: python product/new_data_stealth.py")
else:
logger.error("❌ 修复失败,请检查错误信息")
if __name__ == "__main__":
asyncio.run(main())