def get_activation(self): # try get phone for youla.io activation = GetNumber(service=SmsService().Telegram, country=SmsTypesPlus.Country.PA, operator=SmsTypesPlus.Operator.any).request( self.wrapper) # show activation id and phone for reception sms print('id: {} phone: {}'.format(str(activation.id), str(activation.phone_number))) return activation
wrapper = Sms('59f99Af3754fd7c9b5dA932840473d0A') # getting balance balance = GetBalance().request(wrapper) # show balance print('На счету {} руб.'.format(balance)) # getting free slots (count available phone numbers for each services) available_phones = GetFreeSlots(country=SmsTypes.Country.UA).request(wrapper) # show for vk.com, whatsapp and youla.io) print('Telegram: {} номеров'.format(available_phones.Telegram.count)) # try get phone for youla.io activation = GetNumber( service=SmsService().Telegram, country=SmsTypes.Country.UA, #operator=SmsTypes.Operator.Beeline ).request(wrapper) print('id: {} phone: {}'.format(str(activation.id), str(activation.phone_number))) # getting and show current activation status response = GetStatus(id=activation.id).request(wrapper) print(response) tel2 = open("tel2.txt", "w") tel2.write(activation.phone_number) tel2.close() cpass = configparser.RawConfigParser()
def google(driver, wait, sms_service=SMS_ACTIVATE, country='RU'): # Нажатие на кнопку Создать аккаунт для себя # wait_element_by_id(wait, 'ow313') # click(driver.find_element_by_id('ow313')) # pyautogui.press('down') # pyautogui.press('enter') # Ждём загрузку страницы wait_element_by_id(wait, 'firstName') # Генерируем данные faker = Faker() first_name = faker.first_name() last_name = faker.last_name() username = (first_name + last_name + str(faker.pyint()) + str(faker.pyint())).lower() password = faker.password() # Заполняем данные и переходим на следующую страницу logger.log('Ввожу имя') fill_field(driver.find_element_by_id('firstName'), first_name) logger.log('Ввожу фамилию') fill_field(driver.find_element_by_id('lastName'), last_name) logger.log('Ввожу никнейм') fill_field(driver.find_element_by_id('username'), username) logger.log('Ввожу пароль') fill_field(driver.find_element_by_name('Passwd'), password) logger.log('Ввожу ещё раз пароль') fill_field(driver.find_element_by_name('ConfirmPasswd'), password) click(driver.find_element_by_id('accountDetailsNext')) # Ждём загрузку страницы wait_element_by_id(wait, 'phoneNumberId') btn_next = driver.find_element_by_css_selector('#view_container button') logger.log('Ввожу номер телефона') count_number = 10 index_number = 0 skip = False while index_number < count_number: # Получаем номер телефона if sms_service == SMS_ACTIVATE: # noinspection PyBroadException try: wrapper = Sms('de4f456560f752027Ae21ce8238f4c85') activation = GetNumber( service=SmsService().Gmail, country=SmsTypes.Country().__getattribute__( country)).request(wrapper) country_code = '+' number_phone = activation.phone_number except Exception: skip = True break elif sms_service == SMS_PVA: smspva = SmsPva() has_number = False while not has_number: time.sleep(70) response = smspva.get_number(country=country) if response['response'] == '5': continue number_phone = response['number'] phone_id = response['id'] country_code = response['CountryCode'] if number_phone is not None: has_number = True # Вводим номер телефона и переходим на следующую страницу phone_number = driver.find_element_by_id('phoneNumberId') fill_field(phone_number, country_code + str(number_phone)) # logger.log(country.lower()) # action = ActionChains(driver) # action.click(driver.find_element_by_class_name('#countryList div[data-value="' + country.lower() + '"]')) # action.perform() click(btn_next) # noinspection PyBroadException try: while True: phone_number = driver.find_element_by_id('phoneNumberId') if phone_number.get_attribute('aria-invalid') != 'false': logger.log('Деактивируем номер ' + country_code + str(number_phone)) if sms_service == SMS_ACTIVATE: activation.mark_as_used() elif sms_service == SMS_PVA: smspva.denial(phone_id) break else: time.sleep(1) except Exception: logger.log('+' + number_phone) logger.log('Переходим дальше') break index_number += 1 if index_number == count_number: skip = True break if not skip: # Ждём загрузку страницы wait_element_by_id(wait, 'code') logger.log('Ввожу код из СМС') # Получаем код из СМС if sms_service == SMS_ACTIVATE: activation.was_sent() try: code = activation.wait_code(wrapper=wrapper) except Exception: close_browser(driver) elif sms_service == SMS_PVA: response = smspva.get_sms(phone_id) code = response['sms'] while code == 'null': response = smspva.get_sms(phone_id) code = response['sms'] # Вводим код из СМС и подтверждаем fill_field(driver.find_element_by_id('code'), code) btns = driver.find_elements_by_css_selector('#view_container button') click(btns[1]) # Ждём следующую страницу wait_element_by_id(wait, 'day') emails = [ '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**' ] index = random.randint(0, len(emails) - 1) logger.log('Ввожу дполнительный email') fill_field(driver.find_element_by_css_selector('input[type="email"]'), emails[index]) # Заполняем дату рождения и выбираем пол logger.log('Ввожу дату рождения и пол') fill_field(driver.find_element_by_id('day'), str(random.randint(1, 28))) click(driver.find_element_by_id('month')) month = random.randint(1, 12) i = 0 while i < month: time.sleep(random.random() / 2) pyautogui.press('down') i += 1 pyautogui.press('Enter') year = random.randint(20, 50) fill_field(driver.find_element_by_id('year'), str(datetime.now().year - year)) click(driver.find_element_by_id('gender')) pyautogui.press('down') time.sleep(random.random()) pyautogui.press('down') time.sleep(random.random()) pyautogui.press('Enter') # Нажимаем на кнопку далее btn_next = driver.find_element_by_css_selector( '#view_container button') click(btn_next) # Ждём загрузку страницы wait_element_by_id(wait, 'learnMore') # Пропускаем страницу btns = driver.find_elements_by_css_selector('#view_container button') click(btns[-1]) # Ждём загрузку страницы wait_element_by_id(wait, 'termsofserviceNext') # Скроллим вниз страницы driver.execute_script( "window.scrollTo(0, document.body.scrollHeight);") time.sleep(1) file = open('google.txt', 'a') logger.log(username + '@gmail.com / ' + password) file.write(username + '@gmail.com / ' + password + "\r\n") file.close() # Нажимаем кнопку "Принимаю" logger.log('Принимаю условия') action = ActionChains(driver) checkbox = driver.find_element_by_id('selectionc0') action.move_to_element(checkbox) action.perform() checkbox.click() time.sleep(1) checkbox = driver.find_element_by_id('selectionc3') action.move_to_element(checkbox) action.perform() checkbox.click() time.sleep(1) confirm = driver.find_element_by_id('termsofserviceNext') action.move_to_element(confirm) action.perform() confirm.click() time.sleep(1) confirm = driver.find_element_by_id('confirmdialog-confirm') action.move_to_element(confirm) action.perform() confirm.click() return True return False
# getting balance balance = GetBalance().request(wrapper) # show balance print('На счету {} руб.'.format(balance)) # getting free slots (count available phone numbers for each services) available_phones = GetFreeSlots(country=SmsTypes.Country.RU).request(wrapper) # show for vk.com, whatsapp and youla.io) print('vk.com: {} номеров'.format(available_phones.VkCom.count)) print('whatsapp: {} номеров'.format(available_phones.Whatsapp.count)) print('youla.io: {} номеров'.format(available_phones.Youla.count)) # try get phone for youla.io activation = GetNumber(service=SmsService().Youla, country=SmsTypes.Country.RU, operator=SmsTypes.Operator.Beeline).request(wrapper) # show activation id and phone for reception sms print('id: {} phone: {}'.format(str(activation.id), str(activation.phone_number))) # getting and show current activation status response = GetStatus(id=activation.id).request(wrapper) print(response) # .. send phone number to you service user_action = input('Press enter if you sms was sent or type "cancel": ') if user_action == 'cancel': set_as_cancel = SetStatus(id=activation.id, status=SmsTypes.Status.Cancel).request(wrapper) print(set_as_cancel)
# ------------------------------ # # getting free slots (count available phone numbers for each services) available_phones = GetFreeSlots( country=SmsTypes.Country.RU, operator=SmsTypes.Operator.TELE2).request(wrapper) # show for vk.com, whatsapp and youla.io) print('vk.com: {} номеров'.format(available_phones.VkCom.count)) print('whatsapp: {} номеров'.format(available_phones.Whatsapp.count)) print('youla.io: {} номеров'.format(available_phones.Youla.count)) # ------------------------------ # # try get phone for youla.io activation = GetNumber(service=SmsService().Youla, country=SmsTypes.Country.RU, operator=SmsTypes.Operator.Beeline).request(wrapper) # show activation id and phone for reception sms print('id: {} phone: {}'.format(str(activation.id), str(activation.phone_number))) # .. send phone number to you service user_action = input('Press enter if you sms was sent or type "cancel": ') if user_action == 'cancel': activation.cancel() exit(1) # set current activation status as SmsSent (code was sent to phone) activation.was_sent()