76 lines
2.5 KiB
Python
76 lines
2.5 KiB
Python
#!/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()) |