|
@@ -9,71 +9,164 @@ class IdeaAction:
|
|
|
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()
|
|
|
+ def send_page(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(self.task['idea']['page_path'])
|
|
|
+ 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
|
|
|
+
|
|
|
+ def push_promotion_page(self):
|
|
|
+ idea_dic = self.task['idea']
|
|
|
+ select_elements = self.driver.find_elements_by_xpath('//*[@class="label-2ZOAbuO31o"]')
|
|
|
+ # 点击跳转
|
|
|
+ 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_pic_gzh_botoom(self):
|
|
|
+ # 上传图片
|
|
|
+ self.send_page()
|
|
|
time.sleep(random.uniform(1, 2))
|
|
|
|
|
|
- def idea_banner_gzh_bottom(self):
|
|
|
+ # 信息栏类型
|
|
|
+ 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))
|
|
|
+ self.push_promotion_page()
|
|
|
+
|
|
|
+ def idea_banner_pic_gzh_botoom(self):
|
|
|
+ WebDriverWait(self.driver, 10).until(
|
|
|
+ lambda driver: self.driver.find_element_by_class_name('webuploader-element-invisible'))
|
|
|
+ select_elements = self.driver.find_elements_by_xpath('//*[@class="label-2ZOAbuO31o"]')
|
|
|
+ # 创意样式
|
|
|
+ for _ in select_elements:
|
|
|
+ if _.text == '图片式卡片':
|
|
|
+ _.click()
|
|
|
+ break
|
|
|
+
|
|
|
+ # 上传图片
|
|
|
+ self.send_page()
|
|
|
+ time.sleep(random.uniform(0.5, 0.7))
|
|
|
+
|
|
|
+ # 标签设置
|
|
|
+ select_elements = self.driver.find_elements_by_xpath('//*[@class="label-2ZOAbuO31o"]')
|
|
|
+ for _ in select_elements:
|
|
|
+ if _.text == '转换目标量标签' and self.task['idea']['lable_type'] == 2:
|
|
|
+ _.click()
|
|
|
+ # 素材设置
|
|
|
+ time.sleep(random.uniform(0.1, 0.2))
|
|
|
+ self.push_promotion_page()
|
|
|
+
|
|
|
+ def idea_banner_business_gzh_bottom(self):
|
|
|
+ WebDriverWait(self.driver, 10).until(
|
|
|
+ lambda driver: self.driver.find_element_by_xpath('//*[@id="test_material_type_135"]/span[2]'))
|
|
|
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')
|
|
|
+ wen_input.send_keys(self.task['idea']['idea_content'])
|
|
|
+ time.sleep(random.uniform(0.2, 0.5))
|
|
|
+ self.push_promotion_page()
|
|
|
+
|
|
|
+ def idea_gzh_bottom(self):
|
|
|
+ if self.task['idea']['idea_type'] == 1:
|
|
|
+ self.idea_pic_gzh_botoom()
|
|
|
+ if self.task['idea']['idea_type'] == 2:
|
|
|
+ self.idea_banner_pic_gzh_botoom()
|
|
|
+ if self.task['idea']['idea_type'] == 3:
|
|
|
+ self.idea_banner_business_gzh_bottom()
|
|
|
|
|
|
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')
|
|
|
+ self.task['idea']['movie_path'])
|
|
|
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()
|
|
|
+ time.sleep(random.uniform(0.4, 0.6))
|
|
|
+ self.push_promotion_page()
|
|
|
+ time.sleep(random.uniform(0.4, 0.6))
|
|
|
|
|
|
- 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')
|
|
|
+ text_input.send_keys(self.task['idea']['content'])
|
|
|
+
|
|
|
+ select_elements = self.driver.find_elements_by_xpath('//*[@class="label-2ZOAbuO31o"]')
|
|
|
+ for _ in select_elements:
|
|
|
+ if _.text == '转化目标量标签' and self.task['idea']['lable_type'] == 2:
|
|
|
+ _.click()
|
|
|
|
|
|
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
|
|
|
+ self.send_page()
|
|
|
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"]')
|
|
@@ -95,7 +188,6 @@ class IdeaAction:
|
|
|
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))
|
|
|
|
|
@@ -123,48 +215,7 @@ class IdeaAction:
|
|
|
_.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))
|
|
|
+ self.push_promotion_page()
|
|
|
|
|
|
def idea_pyq(self):
|
|
|
pass
|