- 9
- 0
Что должен делать данный скрипт?
Почему при шаге вводить данные, он не вводит их и скрипт умирает?
Бот на python, который будет проверять промокоды из блокнота. Бот зайдёт на сайт https://cloud.vkplay.ru/, нажмёт на кнопку с текстом "Начать играть" и введёт туда данные(В строки "Email или телефон" вводится почта, а в строку "Пароль" вводится мой пароль, после в строку "Активация промокода" на сайте будет вводиться промокоды из блокнота и нажиматься Enter. Если появится ошибка "Код активации уже использован", то код переводим в новый блокнот "nevalid", если будет ошибка "Код активации для этой компании уже использован", то отправляем данный код в новый блокнот "valid".
Код:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
# открытие браузера Firefox
driver = webdriver.Firefox(executable_path='/path/to/geckodriver')
# переход на сайт https://cloud.vkplay.ru/
driver.get('https://cloud.vkplay.ru/')
# ожидание загрузки страницы
time.sleep(5)
# нажатие на кнопку "Начать играть"
driver.find_element(By.XPATH, '//button[text()="Начать играть"]').click()
# ожидание загрузки страницы
time.sleep(5)
# ввод email и пароля
email_input = driver.find_element(By.NAME, 'email')
email_input.send_keys('123123@yandex.ru')
password_input = driver.find_element(By.NAME, 'Пароль')
password_input.send_keys('1231123')
# чтение промокодов из файла
codes = []
with open('codes.txt', 'r') as f:
for line in f:
codes.append(line.strip())
# активация промокодов
valid_codes = []
for code in codes:
try:
activation_input = driver.find_element_by_name('activation_code')
activation_input.clear()
activation_input.send_keys(code)
activation_input.submit()
print(f'Код {code} активирован успешно')
valid_codes.append(code)
except:
error_message = driver.find_element_by_xpath('//div[@class="alert alert-danger"]')
if 'Код активации уже использован' in error_message.text:
print(f'Код {code} уже использован')
elif 'Код активации для этой компании уже использован' in error_message.text:
print(f'Код {code} для этой компании уже использован')
with open('nevalid.txt', 'a') as f:
f.write(f'{code}\n')
else:
print(f'Неизвестная ошибка при активации кода {code}')
# вывод результатов
print(f'Загружено {len(codes)} кодов')
print(f'Отправлено в блокнот "nevalid": {len(codes)-len(valid_codes)} кодов')
print(f'Отправлено в блокнот "valid": {len(valid_codes)} кодов')
# закрытие браузера
driver.quit()
Почему при шаге вводить данные, он не вводит их и скрипт умирает?