|
@@ -31,6 +31,21 @@ class CreateAdPlan():
|
|
title_.send_keys(self.task['title'])
|
|
title_.send_keys(self.task['title'])
|
|
title_.send_keys(Keys.RETURN)
|
|
title_.send_keys(Keys.RETURN)
|
|
|
|
|
|
|
|
+ def set_ad_cpm(self):
|
|
|
|
+ # TODO:设置完之后,test函数中进行对应修改
|
|
|
|
+ if self.task['cpm']['cpm_set'] == 2:
|
|
|
|
+ self.driver.find_element_by_xpath(
|
|
|
|
+ '//*[@id="wxadcontainer"]/div[1]/div/div[2]/main/div/div[2]/div[1]/div/div[2]/div/div[1]/section[2]/form/div/div[1]/div[1]/button[2]/span').click()
|
|
|
|
+ time.sleep(0.1)
|
|
|
|
+ select_elements = self.driver.find_elements_by_xpath('//*[@class="adui-radio-base adui-radio-small"]')
|
|
|
|
+ for _ in select_elements:
|
|
|
|
+ if '优先跑量' in _.text and self.task['cpm']['module'] == 2:
|
|
|
|
+ _.click()
|
|
|
|
+ time.sleep(0.1)
|
|
|
|
+ if '下单' in _.text:
|
|
|
|
+ _.click()
|
|
|
|
+ time.sleep(0.1)
|
|
|
|
+
|
|
def set_ad_locations(self):
|
|
def set_ad_locations(self):
|
|
gg_button = self.driver.find_element_by_class_name(
|
|
gg_button = self.driver.find_element_by_class_name(
|
|
'adui-button-hasLeftIcon')
|
|
'adui-button-hasLeftIcon')
|
|
@@ -76,27 +91,34 @@ class CreateAdPlan():
|
|
WebDriverWait(self.driver, 10).until(
|
|
WebDriverWait(self.driver, 10).until(
|
|
lambda driver: self.driver.find_elements_by_xpath('//*[@class="adui-input-base"]'))
|
|
lambda driver: self.driver.find_elements_by_xpath('//*[@class="adui-input-base"]'))
|
|
input_elements = self.driver.find_elements_by_xpath('//*[@class="adui-input-base"]')
|
|
input_elements = self.driver.find_elements_by_xpath('//*[@class="adui-input-base"]')
|
|
- input_elements[0].click()
|
|
|
|
- input_elements[0].send_keys(Keys.RIGHT)
|
|
|
|
|
|
|
|
- for i in range(7):
|
|
|
|
- time.sleep(random.uniform(0.1, 0.2))
|
|
|
|
- input_elements[0].send_keys(Keys.BACKSPACE)
|
|
|
|
- for _ in self.task['date_list'][0][1:]:
|
|
|
|
- time.sleep(random.uniform(0.1, 0.2))
|
|
|
|
- input_elements[0].send_keys(_)
|
|
|
|
|
|
+ if self.task['date_set']['date_module'] == 2:
|
|
|
|
+ select_elements = self.driver.find_elements_by_xpath('//*[@class="adui-radio-base adui-radio-small"]')
|
|
|
|
+ for _ in select_elements:
|
|
|
|
+ if '长期投放' in _.text:
|
|
|
|
+ _.click()
|
|
|
|
+ input_elements[0].click()
|
|
|
|
+ input_elements[0].send_keys(Keys.RIGHT)
|
|
|
|
+
|
|
|
|
+ for i in range(7):
|
|
|
|
+ time.sleep(random.uniform(0.1, 0.2))
|
|
|
|
+ input_elements[0].send_keys(Keys.BACKSPACE)
|
|
|
|
+ for _ in self.task['date_set']['date_list'][0][1:]:
|
|
|
|
+ time.sleep(random.uniform(0.1, 0.2))
|
|
|
|
+ input_elements[0].send_keys(_)
|
|
|
|
|
|
- time.sleep(random.uniform(0.1, 0.2))
|
|
|
|
- input_elements[1].click()
|
|
|
|
- time.sleep(0.1)
|
|
|
|
- input_elements[1].send_keys(Keys.RIGHT)
|
|
|
|
- for i in range(7):
|
|
|
|
time.sleep(random.uniform(0.1, 0.2))
|
|
time.sleep(random.uniform(0.1, 0.2))
|
|
- input_elements[1].send_keys(Keys.BACKSPACE)
|
|
|
|
- time.sleep(random.uniform(0.1, 0.2))
|
|
|
|
- for _ in self.task['date_list'][1][1:]:
|
|
|
|
|
|
+ else:
|
|
|
|
+ input_elements[1].click()
|
|
|
|
+ time.sleep(0.1)
|
|
|
|
+ input_elements[1].send_keys(Keys.RIGHT)
|
|
|
|
+ for i in range(7):
|
|
|
|
+ time.sleep(random.uniform(0.1, 0.2))
|
|
|
|
+ input_elements[1].send_keys(Keys.BACKSPACE)
|
|
time.sleep(random.uniform(0.1, 0.2))
|
|
time.sleep(random.uniform(0.1, 0.2))
|
|
- input_elements[1].send_keys(_)
|
|
|
|
|
|
+ for _ in self.task['date_set']['date_list'][1][1:]:
|
|
|
|
+ time.sleep(random.uniform(0.1, 0.2))
|
|
|
|
+ input_elements[1].send_keys(_)
|
|
|
|
|
|
def set_ad_human_location(self):
|
|
def set_ad_human_location(self):
|
|
WebDriverWait(self.driver, 10).until(
|
|
WebDriverWait(self.driver, 10).until(
|
|
@@ -112,9 +134,7 @@ class CreateAdPlan():
|
|
self.driver.find_element_by_class_name('icon-3cAquX1RLZ').click()
|
|
self.driver.find_element_by_class_name('icon-3cAquX1RLZ').click()
|
|
self.driver.find_element_by_xpath('//*[@id="bid_objective_6"]/span[1]').click()
|
|
self.driver.find_element_by_xpath('//*[@id="bid_objective_6"]/span[1]').click()
|
|
if self.task['localtion'] == 'pyq':
|
|
if self.task['localtion'] == 'pyq':
|
|
- citys = self.driver.find_elements_by_class_name('checkbox-1pfRMRqv-R')
|
|
|
|
- for _ in citys:
|
|
|
|
- _.click()
|
|
|
|
|
|
+ self.driver.find_element_by_class_name('icon-3cAquX1RLZ').click()
|
|
|
|
|
|
def set_ad_cost(self):
|
|
def set_ad_cost(self):
|
|
# 投放计划创建
|
|
# 投放计划创建
|
|
@@ -142,7 +162,7 @@ class CreateAdPlan():
|
|
human_input = [_ for _ in self.driver.find_elements_by_xpath('//*[@class="adui-input-base"]') if
|
|
human_input = [_ for _ in self.driver.find_elements_by_xpath('//*[@class="adui-input-base"]') if
|
|
_.get_attribute("placeholder") == '输入名称搜索人群包'][0]
|
|
_.get_attribute("placeholder") == '输入名称搜索人群包'][0]
|
|
|
|
|
|
- for _ in self.task['human_info']:
|
|
|
|
|
|
+ for _ in self.task['human_info_package']:
|
|
human_input.click()
|
|
human_input.click()
|
|
human_input.send_keys(_)
|
|
human_input.send_keys(_)
|
|
human_input.send_keys(Keys.RETURN)
|
|
human_input.send_keys(Keys.RETURN)
|
|
@@ -208,6 +228,7 @@ class CreateAdPlan():
|
|
self.set_ad_locations()
|
|
self.set_ad_locations()
|
|
self.set_ad_time()
|
|
self.set_ad_time()
|
|
self.set_ad_title()
|
|
self.set_ad_title()
|
|
|
|
+ self.set_ad_cpm()
|
|
self.set_ad_human_location()
|
|
self.set_ad_human_location()
|
|
self.set_ad_human()
|
|
self.set_ad_human()
|
|
self.set_ad_cost()
|
|
self.set_ad_cost()
|