Files
tophux_scrape/test_simple_stealth.py

76 lines
2.5 KiB
Python
Raw Normal View History

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