feat tests
This commit is contained in:
@@ -0,0 +1,59 @@
|
|||||||
|
"""
|
||||||
|
Тест посещения сайтов проверки fingerprint браузера.
|
||||||
|
Запуск: python test_fingerprint.py
|
||||||
|
"""
|
||||||
|
|
||||||
|
import asyncio
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
sys.path.insert(0, str(Path(__file__).parent))
|
||||||
|
|
||||||
|
from services.browser_service import BrowserService, _patch_camoufox
|
||||||
|
from managers.proxy_manager import ProxyManager
|
||||||
|
|
||||||
|
_patch_camoufox()
|
||||||
|
|
||||||
|
URLS = [
|
||||||
|
"https://browserleaks.com/",
|
||||||
|
"https://www.browserscan.net/",
|
||||||
|
"https://abrahamjuliot.github.io/creepjs/",
|
||||||
|
]
|
||||||
|
|
||||||
|
READING_TIME = 15 # секунд на каждой странице
|
||||||
|
|
||||||
|
|
||||||
|
async def main():
|
||||||
|
proxy_manager = ProxyManager()
|
||||||
|
await proxy_manager.detect_types()
|
||||||
|
|
||||||
|
browser_service = BrowserService(proxy_manager)
|
||||||
|
|
||||||
|
print(f"\nПрокси доступно: {proxy_manager.count}")
|
||||||
|
print(f"Посещаем {len(URLS)} сайтов по {READING_TIME}с каждый\n")
|
||||||
|
print("=" * 60)
|
||||||
|
|
||||||
|
for url in URLS:
|
||||||
|
print(f"\n🌐 {url}")
|
||||||
|
result = await browser_service.visit_page(url, reading_time=READING_TIME)
|
||||||
|
|
||||||
|
if result.success:
|
||||||
|
print(f" ✅ Успех")
|
||||||
|
print(f" 📍 Итоговый URL: {result.final_url}")
|
||||||
|
if result.redirect_occurred:
|
||||||
|
print(f" 🔀 Был редирект: {result.initial_url} → {result.final_url}")
|
||||||
|
print(f" 🔌 Прокси: {result.proxy_info}")
|
||||||
|
print(f" ⏱ Время чтения: {result.reading_time}с")
|
||||||
|
if result.screenshot_path:
|
||||||
|
print(f" 📸 Скриншот: {result.screenshot_path}")
|
||||||
|
else:
|
||||||
|
print(f" ❌ Ошибка: {result.error}")
|
||||||
|
|
||||||
|
print("\n" + "=" * 60)
|
||||||
|
print("Готово. Проверь скриншоты в папке screenshots/")
|
||||||
|
|
||||||
|
await browser_service.cleanup()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
asyncio.run(main())
|
||||||
Reference in New Issue
Block a user