#!/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())