SaveText.Ru

iqbotmaster code
  1. from selenium import webdriver
  2. from selenium.webdriver import Chrome
  3. from selenium.webdriver.chrome.options import Options
  4. from selenium.webdriver.common.keys import Keys
  5. from time import sleep, ctime
  6. import configparser
  7. import os
  8.  
  9. print("-----------------------------------------nДобро пожаловать в IQBotMaster v1.0nГруппа программы: https://vk.com/vkcoin2048 nРазработчик: https://vk.com/oleg_kapranov nREADME.txt ОБЯЗАТЕЛЕН К ПРОЧТЕНИЮ!n -----------------------------------------")
  10. homepath = os.getenv('USERPROFILE')
  11. file_name = os.path.normpath(homepath + '/Documents/IQBotMaster/data.ini')
  12. folder_path = os.path.normpath(homepath + '/Documents/IQBotMaster')
  13. log_name = os.path.normpath(homepath + '/Documents/IQBotMaster/chromedriver.log')
  14. try:
  15.         check = open(file_name)
  16.         check.close()
  17.         fexist = 1
  18. except FileNotFoundError:
  19.         fexist = 0
  20.  
  21. if fexist == 1:
  22.         ini = configparser.configparser()
  23.         ini.read(file_name)
  24.         getlogin = ini.get('data', 'login')
  25.         getpassword = ini.get('data', 'pass')
  26.         getpath = ini.get('data', 'path')
  27. else:
  28.         if not os.path.exists(folder_path):
  29.                 os.makedirs(folder_path)
  30.         create = open(file_name, 'w')
  31.         create.write('[data]nlogin=-1npass=-1npath=-1')
  32.         create.close()
  33.         ini = configparser.configparser()
  34.         ini.read(file_name)
  35.         getlogin = -1
  36.         getpassword = -1
  37.         getpath = -1
  38.        
  39. if getpath != '-1':
  40.         print('Использовать сохраненный путь до chromedriver.exe?(да/нет): ', end='')
  41.         answer = input()
  42.         if answer.lower() == 'да':
  43.                 path = getpath
  44.         elif answer.lower() == 'нет':
  45.                 print('Введите новый путь до chromedriver.exe: ', end='')
  46.                 path = input()
  47.                 print('Сохранить введеный путь до chromedriver.exe?(да/нет): ', end='')
  48.                 answer = input()
  49.                 if answer.lower() == 'да':
  50.                         ini.set('data', 'path', path)
  51.                 elif answer.lower() == 'нет':
  52.                         ini.set('data', 'path', '-1')
  53.                 else:
  54.                         print('Не обнаружено ответа (да/нет). Завершение...')
  55.                         os.system('pause')
  56.                         raise systemexit
  57.         else:
  58.                 print('Не обнаружено ответа (да/нет). Завершение...')
  59.                 os.system('pause')
  60.                 raise systemexit
  61. else:
  62.         print('Введите путь до chromedriver.exe: ', end='')
  63.         path = input()
  64.         print('Сохранить введеный путь до chromedriver.exe?(да/нет): ', end='')
  65.         answer = input()
  66.         if answer.lower() == 'да':
  67.                 ini.set('data', 'path', path)
  68.         elif answer.lower() == 'нет':
  69.                 ini.set('data', 'path', '-1')
  70.         else:
  71.                 print('Не обнаружено ответа (да/нет). Завершение...')
  72.                 os.system('pause')
  73.                 raise systemexit
  74.  
  75. if getlogin != '-1':
  76.         print('Использовать сохраненный логин/пароль?(да/нет): ', end='')
  77.         answer = input()
  78.         if answer.lower() == 'да':
  79.                 login = getlogin
  80.                 password = getpassword
  81.         elif answer.lower() == 'нет':
  82.                 print('Введите новый логин: ', end='')
  83.                 login = input()
  84.                 print('Введите новый пароль: ', end='')
  85.                 password = input()
  86.                 print('Сохранить введеные логин/пароль?(да/нет): ', end='')
  87.                 answer = input()
  88.                 if answer.lower() == 'да':
  89.                         ini.set('data', 'login', login)
  90.                         ini.set('data', 'pass', password)
  91.                 elif answer.lower() == 'нет':
  92.                         ini.set('data', 'login', '-1')
  93.                         ini.set('data', 'pass', '-1')
  94.                 else:
  95.                         print('Не обнаружено ответа (да/нет). Завершение...')
  96.                         os.system('pause')
  97.                         raise systemexit
  98.         else:
  99.                 print('Не обнаружено ответа (да/нет). Завершение...')
  100.                 os.system('pause')
  101.                 raise systemexit
  102. else:
  103.         print('Введите логин: ', end='')
  104.         login = input()
  105.         print('Введите пароль: ', end='')
  106.         password = input()
  107.         print('Сохранить введеные логин/пароль?(да/нет): ', end='')
  108.         answer = input()
  109.         if answer.lower() == 'да':
  110.                 ini.set('data', 'login', login)
  111.                 ini.set('data', 'pass', password)
  112.         elif answer.lower() == 'нет':
  113.                 ini.set('data', 'login', '-1')
  114.                 ini.set('data', 'pass', '-1')
  115.         else:
  116.                 print('Не обнаружено ответа (да/нет). Завершение...')
  117.                 os.system('pause')
  118.                 raise systemexit
  119.                
  120. with open(file_name, "w") as config_file:
  121.         ini.write(config_file)
  122.        
  123. print('Введите желаемую ставку VK Coin(мин. 5000, макс. 1000000): ', end='')
  124. try:
  125.         bet = int(input())
  126. except:
  127.         bet = -1
  128. if bet < 5000 and bet > 1000000:
  129.         print('Неверный формат. Завершение...')
  130.         os.system('pause')
  131.         raise systemexit
  132.  
  133. print('Введите желаемое количество верных ответов: ', end='')
  134. try:
  135.         answCount = int(input())
  136. except:
  137.         answCount = -1
  138. if answCount <= 0:
  139.         print('Неверный формат. Завершение...')
  140.         os.system('pause')
  141.         raise systemexit
  142.        
  143. print('Введите желаемое количество повторов: ', end='')
  144. try:
  145.         makeCount = int(input())
  146. except:
  147.         makeCount = -1
  148. if makeCount <= 0:
  149.         print('Неверный формат. Завершение...')
  150.         os.system('pause')
  151.         raise systemexit
  152.  
  153. print('Начинаю работу...')
  154. print('Захожу на https://www.vk.com')
  155. browser = Chrome(path, service_log_path=log_name)
  156. print("nОкрыл браузер. Не мешайте мне выполнять действия, иначе выдам ошибку!!nКомпьютером можете продолжать пользоваться.n")
  157. browser.get('https://www.vk.com')
  158.  
  159. print('Ввожу логин...')
  160. login_form = browser.find_element_by_id('index_email')
  161. login_form.send_keys(login)
  162.  
  163. print('Ввожу пароль...')
  164. pass_form = browser.find_element_by_id('index_pass')
  165. pass_form.send_keys(password)
  166.  
  167. print('Вхожу...')
  168. browser.find_element_by_id('index_login_button').click()
  169.  
  170. sleep(5)
  171. print('Захожу в сообщения...')
  172. browser.find_element_by_id('l_msg').click()
  173.  
  174. sleep(5)
  175. print('Выбираю диалог с IQ Bot...')
  176. browser.find_element_by_class_name('_im_dialog_-181604561').click()
  177.  
  178. now = 0
  179. while now < makeCount:
  180.         sleep(5)
  181.         print('Нажимаю кнопку Начать...')
  182.         browser.find_element_by_class_name('Button--positive').click()
  183.  
  184.         sleep(5)
  185.         print('Нажимаю кнопку С ботом...')
  186.         browser.find_element_by_class_name('Button--secondary').click()
  187.  
  188.         sleep(5)
  189.         print('Перехожу по ссылке VK Coin...')
  190.         links = browser.find_elements_by_partial_link_text("vk.com/coin")
  191.         linkscount = len(links)
  192.         links[linkscount-1].click()
  193.  
  194.         sleep(5)
  195.         print('Перечисляю VK Coin...')
  196.         browser.switch_to.window(browser.window_handles[now+1])
  197.         browser.switch_to.frame("fXD")
  198.         count_form = browser.find_element_by_class_name('Input__el')
  199.         count_form.send_keys(Keys.BACK_SPACE * 4 + str(bet))
  200.         browser.find_element_by_class_name('Button__in').click()
  201.  
  202.         sleep(5)
  203.         print('Возвращаюсь во вкладку с диалогом...')
  204.         browser.switch_to.window(browser.window_handles[0])
  205.  
  206.         sleep(5)
  207.         print('Нажимаю кнопку Готов...')
  208.         browser.find_element_by_class_name('Button--positive').click()
  209.  
  210.         c = 0
  211.         while c < answCount:
  212.                 print('Отвечаю на '+str(c+1)+' вопрос...')
  213.                 sleep(5)
  214.                 msg = browser.find_elements_by_class_name("im-mess--text")
  215.                 msgcount = len(msg)
  216.                 text = msg[msgcount-1].text
  217.  
  218.                 try:
  219.                         f_1 = int(text[14])
  220.                         f_2 = int(text[15])
  221.                         f_ok = 1
  222.                 except:
  223.                         f_ok = 0
  224.                        
  225.                 if f_ok == 1:
  226.                         f = int(str(f_1) + str(f_2))
  227.                         do = text[17]
  228.                         try:
  229.                                 s_1 = int(text[19])
  230.                                 s_2 = int(text[20])
  231.                                 s_ok = 1
  232.                         except:
  233.                                 s_ok = 0
  234.                         if s_ok == 1:
  235.                                 s = int(str(s_1) + str(s_2))
  236.                         else:
  237.                                 s = s_1
  238.                 else:
  239.                         f = f_1
  240.                         do = text[16]
  241.                         try:
  242.                                 s_1 = int(text[18])
  243.                                 s_2 = int(text[19])
  244.                                 s_ok = 1
  245.                         except:
  246.                                 s_ok = 0
  247.                         if s_ok == 1:
  248.                                 s = int(str(s_1) + str(s_2))
  249.                         else:
  250.                                 s = s_1
  251.                                
  252.                 if do == "+":
  253.                         num = f + s
  254.                 elif do == "-":
  255.                         num = f - s
  256.                 elif do == "*":
  257.                         num = f * s
  258.                 else:
  259.                         print(do)
  260.                        
  261.                 chat_form = browser.find_element_by_id('im_editable0')
  262.                 chat_form.send_keys(str(num))
  263.                 chat_form.send_keys(Keys.ENTER)
  264.                 c += 1
  265.                
  266.         sleep(5)
  267.         print('Отправляю неправильное число для завершения...')
  268.         chat_form = browser.find_element_by_id('im_editable0')
  269.         chat_form.send_keys('1')
  270.         chat_form.send_keys(Keys.ENTER)
  271.         now += 1
  272.         sleep(10)
  273.         chat_form = browser.find_element_by_id('im_editable0')
  274.         chat_form.send_keys('2')
  275.         chat_form.send_keys(Keys.ENTER)
  276.        
  277. print('Закончил работу. Перезапустите программу для повтора.')
  278. browser.close()

Share with your friends:

Print