Repository navigation
Expand file tree
/
Copy pathdebug_script.py
More file actions
121 lines (96 loc) · 3.63 KB
/
Copy pathdebug_script.py
File metadata and controls
121 lines (96 loc) · 3.63 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
113
114
115
116
117
118
119
120
121
#!/usr/bin/env python3
"""
Debug Script for Multilogin
===========================
Simple script to test basic functionality
"""
import os
import time
import logging
import sys
from datetime import datetime
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
def setup_logging():
"""Setup logging"""
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.StreamHandler(sys.stdout),
logging.FileHandler('debug_script.log')
]
)
return logging.getLogger(__name__)
def main():
"""Main function"""
logger = setup_logging()
logger.info("=== Debug Script Started ===")
logger.info(f"Current time: {datetime.now()}")
logger.info(f"Python version: {sys.version}")
# Get environment variables
debugging_url = os.environ.get('MLX_DEBUGGING_URL')
profile_id = os.environ.get('MLX_PROFILE_ID')
folder_id = os.environ.get('MLX_FOLDER_ID')
logger.info(f"Debugging URL: {debugging_url}")
logger.info(f"Profile ID: {profile_id}")
logger.info(f"Folder ID: {folder_id}")
driver = None
try:
logger.info("Setting up WebDriver...")
if debugging_url:
# Connect to Multilogin debugging URL
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
driver = webdriver.Remote(
command_executor=debugging_url,
options=chrome_options
)
logger.info(f"Connected to Multilogin debugging URL: {debugging_url}")
else:
# Create local Chrome driver for testing
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
driver = webdriver.Chrome(options=chrome_options)
logger.info("Created local Chrome driver for testing")
if not driver:
logger.error("Failed to setup WebDriver")
return
# Test basic functionality
logger.info("Testing basic functionality...")
# Navigate to a simple website
test_url = "https://www.google.com"
logger.info(f"Navigating to: {test_url}")
driver.get(test_url)
time.sleep(3)
# Get page title
title = driver.title
logger.info(f"Page title: {title}")
# Take screenshot
screenshot_path = f"debug_screenshot_{datetime.now().strftime('%Y%m%d_%H%M%S')}.png"
driver.save_screenshot(screenshot_path)
logger.info(f"Screenshot saved: {screenshot_path}")
# Wait a bit more
logger.info("Waiting 5 seconds...")
time.sleep(5)
logger.info("Basic functionality test completed successfully!")
except Exception as e:
logger.error(f"Error in debug script: {e}")
import traceback
logger.error(f"Traceback: {traceback.format_exc()}")
raise
finally:
# Cleanup
if driver:
try:
logger.info("Closing WebDriver...")
driver.quit()
logger.info("WebDriver closed successfully")
except Exception as e:
logger.error(f"Error closing WebDriver: {e}")
logger.info("=== Debug Script Finished ===")
if __name__ == "__main__":
main()