#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
简化版测试脚本，验证 new_data_stealth.py 的基本功能
"""

import asyncio
from loguru import logger
from playwright.async_api import async_playwright
from playwright_stealth.stealth import Stealth

async def test_basic_functionality():
    """测试基本功能"""
    logger.info("=== 测试 new_data_stealth.py 基本功能 ===")
    
    try:
        # 导入 ProductHuntScraper 类
        from product.new_data_stealth import ProductHuntScraper
        logger.success("ProductHuntScraper 类导入成功")
        
        # 创建实例
        scraper = ProductHuntScraper()
        logger.success("ProductHuntScraper 实例创建成功")
        
        # 测试浏览器启动
        logger.info("测试浏览器启动...")
        browser_started = await scraper.start_browser()
        
        if browser_started:
            logger.success("浏览器启动测试通过")
            
            # 测试页面导航（简化版）
            logger.info("测试页面导航...")
            try:
                # 只访问主页测试
                await scraper.page.goto("https://www.google.com", {"waitUntil": "networkidle", "timeout": 30000})
                logger.success("页面导航测试通过")
                
                # 保存截图测试
                await scraper.take_screenshot()
                logger.success("截图功能测试通过")
                
                # 保存HTML测试
                await scraper.save_html()
                logger.success("HTML保存功能测试通过")
                
            except Exception as e:
                logger.error(f"页面导航测试失败: {e}")
                
            finally:
                # 关闭浏览器
                await scraper.close_browser()
                logger.info("浏览器已关闭")
                
            logger.success("✅ 所有基本功能测试通过！")
            return True
        else:
            logger.error("❌ 浏览器启动失败")
            return False
            
    except Exception as e:
        logger.error(f"❌ 测试失败: {e}")
        return False

async def main():
    """主函数"""
    success = await test_basic_functionality()
    
    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())