import time
import random
from selenium.webdriver.support.wait import WebDriverWait


class IdeaAction:
    def __init__(self, driver):
        self.driver = driver

    def push_page(self):
        self.driver.find_element_by_class_name('adui-button-small').click()
        select_input = self.driver.find_element_by_class_name('adui-input-base')
        select_input.send_keys('原生')
        self.driver.find_element_by_id('select_canvas_ok_btn').click()
        time.sleep(random.uniform(1, 2))

    def idea_banner_gzh_bottom(self):
        self.driver.find_element_by_css_selector('#test_material_type_135 > span.inputWrapper-3fBModc9zM > i').click()
        wen_input = self.driver.find_element_by_class_name('input-3MbKvywHL2')
        wen_input.send_keys('nihaonihao')

    def idea_pic_gzh_bottom(self):
        # TODO:添加try,catch因为图片上传可能慢
        WebDriverWait(self.driver, 10).until(lambda driver: driver.find_element_by_class_name('adui-button-small'))

        self.driver.find_element_by_class_name("webuploader-element-invisible").send_keys(
            "/usr/share/wallpapers/deepin/Beach_by_Samuel_Scrimshaw.jpg")
        WebDriverWait(self.driver, 5).until(lambda driver: driver.find_element_by_class_name('btnFist-uueBS6DQFa'))
        self.driver.find_element_by_class_name('btnFist-uueBS6DQFa').click()
        WebDriverWait(self.driver, 10).until(lambda driver: driver.find_element_by_id('test_progress_confirm'))
        # 等待上传完毕,因为完成按钮本身可以
        time.sleep(10)
        self.driver.find_element_by_id('test_progress_confirm').click()
        time.sleep(random.uniform(1, 2))

        self.driver.save_screenshot('set_page_pic.png')
        self.push_page()
        self.driver.save_screenshot('set_page_idea.png')

    def idea_movie_gzh_movie(self):
        WebDriverWait(self.driver, 10).until(
            lambda driver: driver.find_element_by_class_name('webuploader-element-invisible'))

        self.driver.find_element_by_class_name('webuploader-element-invisible').send_keys(
            '/home/cxyu/Downloads/上门龙婿-竖3(1).mp4')
        suc_button = self.driver.find_element_by_id('test_progress_confirm')
        WebDriverWait(self.driver, 1000).until(lambda  x:(suc_button.is_displayed() and suc_button.is_enabled()))

        self.driver.find_element_by_id('test_progress_confirm').click()

        self.driver.save_screenshot('set_page_pic.png')
        self.push_page()
        text_input = self.driver.find_element_by_css_selector('#reward_video_desc > div > input')
        text_input.send_keys('asdf')