Alikhani0916 commited on
Commit
b2479ba
·
verified ·
1 Parent(s): 3a86ff9

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +91 -0
app.py ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from selenium import webdriver
3
+ from selenium.webdriver.common.by import By
4
+ from selenium.webdriver.support.ui import WebDriverWait
5
+ from selenium.webdriver.support import expected_conditions as EC
6
+ from webdriver_manager.chrome import ChromeDriverManager
7
+ import time
8
+ import threading
9
+
10
+ # تنظیمات ثابت
11
+ USERNAME = "09393632537"
12
+ PASSWORD = "Ali0916/"
13
+ LOGIN_URL = "https://karsood.ir"
14
+ WAIT_TIME = 10
15
+
16
+ def initialize_driver():
17
+ options = webdriver.ChromeOptions()
18
+ options.add_argument("--headless")
19
+ options.add_argument("--disable-gpu")
20
+ options.add_argument("--no-sandbox")
21
+ return webdriver.Chrome(ChromeDriverManager().install(), options=options)
22
+
23
+ def login(driver):
24
+ driver.get(LOGIN_URL)
25
+
26
+ WebDriverWait(driver, WAIT_TIME).until(
27
+ EC.presence_of_element_located((By.NAME, "username"))
28
+ ).send_keys(USERNAME)
29
+
30
+ driver.find_element(By.NAME, "password").send_keys(PASSWORD)
31
+ driver.find_element(By.NAME, "password").submit()
32
+ st.success("✅ Vared shodam!")
33
+
34
+ def auto_clicker(driver):
35
+ while st.session_state.running:
36
+ try:
37
+ clickables = driver.find_elements(By.XPATH, "//a | //button")
38
+ for element in clickables:
39
+ try:
40
+ element.click()
41
+ st.write(f"🖱️ Click kardam: {element.text[:15]}...")
42
+ time.sleep(1)
43
+ except:
44
+ continue
45
+ time.sleep(10)
46
+ except Exception as e:
47
+ st.error(f"⚠️ Error: {str(e)[:50]}")
48
+
49
+ def main_automation():
50
+ driver = initialize_driver()
51
+ try:
52
+ login(driver)
53
+ time.sleep(3)
54
+ auto_clicker(driver)
55
+ finally:
56
+ driver.quit()
57
+
58
+ def start_automation():
59
+ st.session_state.running = True
60
+ threading.Thread(target=main_automation).start()
61
+
62
+ # رابط کاربری ساده شده
63
+ st.set_page_config(page_title="Karsood AutoBot", layout="wide")
64
+ st.markdown("""
65
+ <style>
66
+ .stButton>button {
67
+ background-color: #4CAF50;
68
+ color: white;
69
+ padding: 12px 24px;
70
+ border-radius: 5px;
71
+ }
72
+ </style>
73
+ """, unsafe_allow_html=True)
74
+
75
+ if 'running' not in st.session_state:
76
+ st.session_state.running = False
77
+
78
+ if not st.session_state.running:
79
+ start_automation()
80
+ st.experimental_rerun()
81
+
82
+ st.title("Karsood AutoBot 🤖")
83
+ st.write("""
84
+ ### Dar hal ejra-ye automatik:
85
+ - **Username:** `09393632537`
86
+ - **Password:** `••••••••`
87
+ """)
88
+
89
+ stop_btn = st.button("⛔ Stop")
90
+ if stop_btn:
91
+ st.session_state.running = False