123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- import time
- import random
- from selenium.webdriver.common.keys import Keys
- from selenium.webdriver.support.wait import WebDriverWait
- class IdeaAction:
- def __init__(self, driver, task):
- self.driver = driver
- self.task = task
- 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')
- def idea_big_pic(self):
- # 设置图片
- WebDriverWait(self.driver, 10).until(
- lambda driver: self.driver.find_element_by_class_name('webuploader-element-invisible'))
- page_input = self.driver.find_element_by_class_name('webuploader-element-invisible')
- page_input.send_keys('/usr/share/wallpapers/deepin/Beach_by_Samuel_Scrimshaw.jpg')
- try:
- WebDriverWait(self.driver, 100).until(lambda driver: driver.find_element_by_xpath(
- '//*[@id="wxadcontainer"]/div[1]/div/div[2]/main/div/div[2]/div[2]/div/div[1]/div[1]/div[2]/div/form/div[2]/div/div[1]/div/div[1]/div/div/div/div/div/div[2]/section/div/div[2]/button[1]'))
- self.driver.find_element_by_xpath(
- '//*[@id="wxadcontainer"]/div[1]/div/div[2]/main/div/div[2]/div[2]/div/div[1]/div[1]/div[2]/div/form/div[2]/div/div[1]/div/div[1]/div/div/div/div/div/div[2]/section/div/div[2]/button[1]').click()
- WebDriverWait(self.driver, 100).until(
- lambda driver: self.driver.find_element_by_xpath('//*[@id="test_progress_confirm"]'))
- suc_button = self.driver.find_element_by_xpath('//*[@id="test_progress_confirm"]')
- WebDriverWait(self.driver, 100).until(lambda driver: suc_button.is_displayed() and suc_button.is_enabled())
- suc_button.click()
- except:
- pass
- idea_dic = self.task['idea']
- select_elements = self.driver.find_elements_by_xpath('//*[@class="label-2ZOAbuO31o"]')
- input_elements = self.driver.find_elements_by_xpath('//*[@class="input-3MbKvywHL2"]')
- # 信息栏
- if idea_dic['info_type'] == 1:
- # 头像
- for _ in select_elements:
- if _.text == '头像昵称型':
- _.click()
- if idea_dic['info_type'] == 2:
- # 文案
- for _ in select_elements:
- if _.text == '文案型':
- _.click()
- for _ in input_elements:
- # 信息栏文案
- if _.get_attribute("placeholder") == '信息栏文案':
- _.send_keys(idea_dic['info_type-content'])
- time.sleep(random.uniform(0.1, 0.2))
- # 图文标题
- '//*[@id="test_first_line_input"]/div/input'
- self.driver.find_element_by_xpath('//*[@id="test_first_line_input"]/div/input').send_keys(idea_dic['title'])
- time.sleep(random.uniform(0.1, 0.2))
- # 广告文案
- for _ in input_elements:
- if _.get_attribute("placeholder") == '请输入首行文案':
- _.send_keys(idea_dic['content_one'])
- time.sleep(random.uniform(0.1, 0.2))
- if _.get_attribute("placeholder") == '请输入次行文案':
- _.send_keys(idea_dic['content_two'])
- time.sleep(random.uniform(0.1, 0.2))
- if _.get_attribute("placeholder") == '请输入第三行文案(选填)':
- _.send_keys(idea_dic['content_three'])
- time.sleep(random.uniform(0.1, 0.2))
- # 标签展示
- for _ in select_elements:
- if _.text == '不启用' and idea_dic['lable_type'] == 1:
- _.click()
- if _.text == '好友关注量标签' and idea_dic['lable_type'] == 2:
- _.click()
- if _.text == '转化目标量标签' and idea_dic['lable_type'] == 3:
- _.click()
- time.sleep(random.uniform(0.1, 0.2))
- # 点击跳转
- for _ in select_elements:
- if _.text == '公众号详情页' and idea_dic['jump_type'] == 2:
- _.click()
- time.sleep(random.uniform(0.1, 0.2))
- # 按钮文案
- for _ in select_elements:
- if _.text == '立即咨询' and idea_dic['button_type'] == 2:
- _.click()
- if _.text == '立即申请' and idea_dic['button_type'] == 3:
- _.click()
- if _.text == '阅读小说' and idea_dic['button_type'] == 4:
- _.click()
- time.sleep(random.uniform(0.1, 0.2))
- if idea_dic['jump_type'] == 1:
- # 点击按钮跳转
- for _ in select_elements:
- if _.text == '一键关注' and idea_dic['jump_type-button_type'] == 2:
- _.click()
- time.sleep(random.uniform(0.1, 0.2))
- # 原生推广页选择
- self.driver.find_element_by_xpath('//*[@id="choose_template"]').click()
- select_elements = self.driver.find_elements_by_xpath('//*[@class="inputWrapper-3fBModc9zM"]')
- for _ in select_elements:
- if _.get_attribute("placeholder") == '输入关键字搜索推广页':
- _.send_keys(idea_dic['jump_type-page_type'])
- _.send_keys(Keys.RETURN)
- WebDriverWait(self.driver, 30).until(
- lambda driver: self.driver.find_elements_by_xpath('//*[@class="adui-table-cellInner"]'))
- page_elements = self.driver.find_elements_by_xpath('//*[@class="adui-table-cellInner"]')
- for _ in page_elements:
- if _.text == idea_dic['jump_type-page_type']:
- _.click()
- time.sleep(random.uniform(0.1, 0.2))
- self.driver.find_element_by_xpath('//*[@id="select_canvas_ok_btn"]/span').click()
- '//*[@id="test_creative_next_step"]'
- time.sleep(random.uniform(0.1, 0.2))
- def idea_pyq(self):
- pass
|