增加对producthunt网站的数据爬取
This commit is contained in:
68
test_stealth_fix.py
Normal file
68
test_stealth_fix.py
Normal file
@@ -0,0 +1,68 @@
|
||||
#!/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())
|
||||
Reference in New Issue
Block a user