-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_scraper.py
More file actions
112 lines (91 loc) · 4.01 KB
/
Copy pathtest_scraper.py
File metadata and controls
112 lines (91 loc) · 4.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
"""
Test script for scraper.py poll_chats function
Usage: python -c "from scraper import poll_chats; print(poll_chats())"
"""
import sys
import logging
from scraper import poll_chats, FanslySeleniumScraper
# Настройка логирования
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
def test_poll_chats():
"""Тест функции poll_chats"""
print("=" * 60)
print("Testing scraper.poll_chats()")
print("=" * 60)
try:
print("\n🚀 Вызываем poll_chats()...\n")
# Вызываем функцию poll_chats
# Внимание: для реального теста нужен активный driver с логином
messages = poll_chats()
print(f"✅ Функция выполнена успешно!")
print(f"📊 Найдено сообщений: {len(messages)}")
if messages:
print("\n📨 Сообщения:")
for idx, msg in enumerate(messages, 1):
print(f"\n {idx}. Chat ID: {msg.get('chat_id', 'N/A')}")
print(f" Message: {msg.get('fan', 'N/A')[:100]}...")
else:
print("\n⚠️ Сообщения не найдены")
print(" Это нормально если:")
print(" - Driver не инициализирован")
print(" - Нет активных чатов")
print(" - Не выполнен логин")
return messages
except Exception as e:
print(f"❌ Ошибка при тестировании: {e}")
import traceback
traceback.print_exc()
return []
def test_selenium_scraper():
"""Тест класса FanslySeleniumScraper"""
print("\n" + "=" * 60)
print("Testing FanslySeleniumScraper class")
print("=" * 60)
try:
scraper = FanslySeleniumScraper(headless=True)
print("✅ FanslySeleniumScraper создан успешно")
# Тест создания driver
print("\n🔧 Тестируем создание WebDriver...")
driver = scraper._create_driver()
print("✅ WebDriver создан успешно")
# Тест poll_chats с driver
print("\n📨 Тестируем poll_chats с driver...")
messages = scraper.poll_chats(driver)
print(f"✅ poll_chats выполнена, найдено {len(messages)} сообщений")
# Закрываем driver
scraper.close()
print("✅ Driver закрыт")
return True
except Exception as e:
print(f"❌ Ошибка при тестировании: {e}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
print("\n" + "=" * 60)
print("Fansly Scraper Test Script")
print("=" * 60)
print("\n⚠️ ВНИМАНИЕ:")
print(" Для полного теста требуется:")
print(" - Установленный Selenium: pip install selenium")
print(" - Chrome браузер")
print(" - Активный логин в Fansly\n")
# Тест 1: Простая функция poll_chats
print("📋 Тест 1: poll_chats() функция")
messages = test_poll_chats()
# Тест 2: Класс FanslySeleniumScraper
print("\n📋 Тест 2: FanslySeleniumScraper класс")
try:
test_selenium_scraper()
except ImportError as e:
print(f"⚠️ Selenium не установлен: {e}")
print(" Установите: pip install selenium webdriver-manager")
print("\n" + "=" * 60)
print("✅ Тесты завершены!")
print("=" * 60 + "\n")
# Для теста через командную строку
if len(sys.argv) > 1 and sys.argv[1] == "--quick":
print(f"Quick test result: {len(messages)} messages found")