from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Инициализация веб-драйвера
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

try:
    # Открываем страницу авторизации
    driver.get("https://detectiv-dorama-lordfilm.ru/awesome")

    # Ожидание появления полей для ввода логина и пароля
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "user_login")))

    # Находим элементы для ввода логина и пароля
    username_input = driver.find_element(By.ID, "user_login")  # Локатор для ввода имени пользователя
    password_input = driver.find_element(By.ID, "user_pass")    # Локатор для ввода пароля

    # Вводим ваши реальные данные
    username_input.send_keys("awesome_author")  # Ваш логин
    password_input.send_keys("2958hnugOsteZL84ZMW3Ap5u")  # Ваш пароль
    
    # Отправляем форму
    password_input.send_keys(Keys.RETURN)

    # Ожидаем, пока не загрузится следующая страница
    WebDriverWait(driver, 10).until(EC.url_contains("wp-admin"))

    print("Успешная авторизация!")

    # Переходим к плееру
    driver.get("https://detectiv-dorama-lordfilm.ru/wp-admin/post-new.php?post_type=player")

    # Ожидаем появления поля для ввода ID Кинопоиска
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "acf[field_61587111f5d02]"))) 
    
    # Находим поле для ввода ID Кинопоиска и вводим ID
    kinopoisk_id_input = driver.find_element(By.NAME, "acf[field_61587111f5d02]")  
    kinopoisk_id_input.send_keys("333")  # Ваш ID Кинопоиска
    kinopoisk_id_input.send_keys(Keys.RETURN)

    # Ожидаем перенаправления на страницу с видео
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "in-type-2-2")))  # Замените на реальный ID элемента на странице с видео
    
    print("ID Кинопоиска успешно введен и ждем перенаправления на страницу с видео.")

    # Найдем чекбокс по ID и установим в нем галочку
    checkbox = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "in-type-2-2")))  
    checkbox.click()

    print("Галочка установлена, можно продолжать с другими действиями.")

    # Нажимаем на "Добавить новую рубрику"
    category_add_toggle = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "category-add-toggle")))
    category_add_toggle.click()

    print("Нажата кнопка 'Добавить новую рубрику'.")

    # Ожидаем появления текстового поля для ввода названия новой рубрики
    newcategory_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "newcategory")))
    
    newcategory_input.send_keys("Название новой рубрики")  # Замените на нужное название
    newcategory_input.send_keys(Keys.RETURN)

    # Ожидаем нажатия кнопки "Добавить"
    add_submit_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "category-add-submit")))
    add_submit_button.click()

    print("Новая рубрика добавлена.")

    # Нажимаем на кнопку переключения на текстовый редактор
    switch_editor_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "acf-editor-59-html")))
    switch_editor_button.click()

    print("Переключились на текстовый редактор.")

    # Ожидаем появления текстовой области для ввода в acf-editor-59
    text_area_1 = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//textarea[@id='acf-editor-59']")))
    
    # Вводим текст в первую текстовую область
    text_area_1.clear()  # Очистка текстовой области перед вводом (если необходимо)
    text_area_1.send_keys("Ваш текст для acf-editor-59")  # Замените на нужный текст
    print("Текст успешно введён в текстовую область acf-editor-59.")

    # Нажимаем на кнопку для переключения на текстовое поле "content"
    content_html_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "content-html")))
    content_html_button.click()

    print("Переключились на текстовый редактор для поля 'content'.")

    # Ожидаем появления текстовой области для ввода второго текста
    text_area_2 = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//textarea[@id='content']")))  # Поле для ввода текста
    
    # Вводим текст во вторую текстовую область
    text_area_2.clear()  # Очистка текстовой области перед вводом (если необходимо)
    text_area_2.send_keys("Ваш текст для content")  # Замените на нужный текст
    print("Текст успешно введён в текстовую область content.")

    # Переключаемся на текстовое поле с мета-описанием
    meta_description_field = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, "//div[@id='yoast-google-preview-description-metabox']//div[@class='public-DraftStyleDefault-block public-DraftStyleDefault-ltr']"))
    )
    
    # Кликаем по комбобоксу, чтобы активировать его
    meta_description_field.click()
    
    # Вводим новый текст в мета-описание
    meta_description_field.send_keys("Ваш текст для мета-описания")  # Замените на нужный текст
    print("Текст успешно введён в мета-описание.")

    # Браузер останется открытым, пока вы не нажмете Enter
    input("Нажмите Enter, чтобы закрыть браузер...")

finally:
    # Закрываем драйвер
    driver.quit()