def click_confirm_window(self): time.sleep(1) locator = (By.CSS_SELECTOR, ".sweet-alert.showSweetAlert.visible") WebDriverWait(browser, 3).until(EC.visibility_of_element_located(locator)) browser.find_element_by_css_selector( ".sa-confirm-button-container").click() # 点击OK
def add_partner(): """ 添加邀请人 :return: """ browser.find_element_by_link_text("邀请人管理").click() browser.find_element_by_css_selector( "button[data-url *= '/seo/partner/add']").click() locator = (By.CSS_SELECTOR, "input[placeholder = '手机号/ID']") phoneIDInput = partnerInst.wait_element_visible(locator) if phoneIDInput is not False: phoneIDInput.send_keys("19914863531") else: pass time.sleep(1) locator = (By.CSS_SELECTOR, "ul.select2-selection__rendered>li") partnerInst.wait_element_visible(locator, 2) partnerInstList = browser.find_elements_by_css_selector( "li[class ^= 'select2-results__option']") # 类名以value值开头 partnerInstList[0].click() browser.find_element_by_id("name").send_keys("桃子") browser.find_element_by_id("type4").click() Select(browser.find_element_by_id("city")).select_by_visible_text("南宁市") browser.find_element_by_id("day").send_keys("3") browser.find_element_by_id("percen").send_keys("50") browser.find_element_by_id("bonus").send_keys("10086") browser.find_element_by_id("partnerBut").click() time.sleep(3) partnerInst.close_SweetAlert()
def edit_bonus_activity(): filter_condition(status="未开始") editBtn = browser.find_elements_by_css_selector( "button[data-url *= '/bonus_activity/edit']") if len(editBtn) > 0: editBtn[0].click() locator = (By.ID, "activityname") nameInput = bonusActivityInst.wait_element_visible(locator) if nameInput is not False: nameInput.clear() nameInput.send_keys("红包活动状态-编辑") reservationTime = "2018/11/05 15:30:12 - 2018-11-15 15:40:12" browser.find_element_by_id("reservationtime").send_keys( reservationTime) browser.find_element_by_css_selector( ".applyBtn.btn.btn-small.btn-sm.btn-success").click() time.sleep(2) # Select(browser.find_element_by_name("activityobject")).select_by_visible_text("不限制") # browser.find_element_by_id("bonus").send_keys("10086") # browser.find_element_by_id("bonusnum").send_keys("2") browser.find_element_by_id("editActivityBut").click() # 提交后,操作成功与否均会返回操作结果 bonusActivityInst.onclick_confirm() else: pass else: pass
def modify_focus_ad(): """ 修改焦点广告 :return: """ browser.find_element_by_css_selector( "button[data-url *= '/seo/ad/edit/110']").click()
def modify_warehouse(): """ 修改配送中心 - 页面与添加配送中心一样,按照需求修改即可 :return: """ browser.find_element_by_css_selector( "button[data-url *= '/users/warehouse/edit/521590']").click()
def show_rule(): browser.find_element_by_css_selector( ".btn.btn-default.btn-sm.J-rule").click() locator = (By.CSS_SELECTOR, ".modal-content") goodWatikiInst.wait_element_visible(locator, 2) time.sleep(3) goodWatikiInst.close_modal_content()
def create_bonus_activity(): """ 创建活动二维码 :return: """ browser.find_element_by_css_selector( "button[data-url *= '/bonus_activity/create']").click() locator = (By.ID, "activityname") nameInput = bonusActivityInst.wait_element_visible(locator) if nameInput is not False: nameInput.send_keys("测试定时器-红包活动状态") # 获取当前时间,便于调试,否则直接输入时间比较方便 import datetime curTiem = datetime.datetime.now().strftime('%Y/%m/%d %H:%M:%S') delayTime = datetime.datetime.now() + datetime.timedelta(minutes=3) delayTimeD = delayTime.strftime('%Y-%m-%d %H:%M:%S') reservationTime = curTiem + " - " + delayTimeD print(reservationTime) browser.find_element_by_id("reservationtime").send_keys( reservationTime) browser.find_element_by_css_selector( ".applyBtn.btn.btn-small.btn-sm.btn-success").click() Select(browser.find_element_by_name( "activityobject")).select_by_visible_text("不限") browser.find_element_by_id("bonus").send_keys("10086") browser.find_element_by_id("bonusnum").send_keys("2") browser.find_element_by_id("activityBut").click() # 提交后,操作成功与否均会返回操作结果 bonusActivityInst.onclick_confirm() else: pass
def select_time(timeType="下单时间", dateType="全部"): """ 时间选择 :param timeType: 1.下单时间 2.派单时间 3.付款时间 4.完成时间 :param userDefined: 0.今日 1.昨日 2.最近7日 3.最近30日 4.全部 5.自定义 :return: """ dateDict = {"今日": 0, "昨日": 1, "最近7日": 2, "最近30日": 3, "全部": 4, "自定义": 5} Select(browser.find_element_by_name("time_type")).select_by_visible_text( timeType) try: browser.find_element_by_id("reservationtime").click() timeInput = browser.find_elements_by_css_selector("div.ranges>ul>li") if len(timeInput) > 0: timeInput[dateDict[dateType]].click() if dateDict[dateType] < 5: # 指定时间:今日、昨日、最近7日、最近30日、全部 pass else: # 自定义时间 time.sleep(1) startTime = browser.find_element_by_name( "daterangepicker_start") startTime.clear() startTime.send_keys("2018-01-01 00:00:00") endTime = browser.find_element_by_name("daterangepicker_end") endTime.clear() endTime.send_keys("2018-11-06 10:30:00") browser.find_element_by_css_selector( ".applyBtn.btn.btn-small.btn-sm.btn-success").click() except Exception: pass
def modify_supplier(): """ 修改配送中心 - 页面与添加配送中心一样,按照需求修改即可 :return: """ browser.find_element_by_css_selector( "button[data-url *= '/users/supplier/edit/458207']").click()
def create_seckill(): """ 添加新活动 :return: """ browser.find_element_by_css_selector( "button[data-url *= 'seckill/create']").click() locator = (By.ID, "goodsId") goodsIDInput = seckillInst.wait_element_visible(locator) if goodsIDInput is not False: goodsIDInput.send_keys("6673") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))) browser.find_element_by_id("scarePrice").send_keys("0.01") # 如果上已经下架/隐藏中/未发布会弹窗提示错误 locator = (By.CSS_SELECTOR, ".sweet-alert.showSweetAlert.visible") Alert_ele = seckillInst.wait_element_visible(locator) print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))) if Alert_ele is not False: # 1.商品已经下架,输入商品ID时提示 print(Alert_ele.text) locator = ".sa-confirm-button-container" browser.find_element_by_css_selector(locator).click() browser.refresh() else: # 2.商品有进行中的活动,提交时提示“添加失败” # 3.商品首次添加活动,或者活动已经结束 browser.find_element_by_id("scareNum").send_keys("1") browser.find_element_by_id("starttime").send_keys( "2018-11-01 00:00:00") browser.find_element_by_id("endtime").send_keys( "2018-11-11 23:59:59") browser.find_element_by_id("scareBut").click() seckillInst.close_SweetAlert() else: pass
def click_cancle_window(): try: locator = (By.CSS_SELECTOR, ".sweet-alert.showSweetAlert.visible") WebDriverWait(browser, 3).until(EC.visibility_of_element_located(locator)) time.sleep(1) browser.find_element_by_css_selector(".sa-button-container>button").click() except Exception as err_msg: print("取消失败原因:",err_msg)
def click_OK_box(): """操作成功,点击OK""" locator = (By.CSS_SELECTOR,".sweet-alert.showSweetAlert.visible") confirm_btn = wait_element_visible(locator) if confirm_btn: browser.find_element_by_css_selector(".sa-confirm-button-container>.confirm").click() else: pass
def see_rules_declaration(): """ 查看规则说明 :return: """ browser.find_element_by_css_selector( ".btn.btn-default.btn-sm.explain").click() time.sleep(2) focusSetInst.close_modal_content()
def select_order(key="商品名称", val="茶花山"): """ 订单: :param key:订单编号/支付编号/商品ID/商品名称 :param val: 请输入关键字,结合key值 :return: """ Select(browser.find_element_by_name("key")).select_by_visible_text(key) browser.find_element_by_css_selector("input[name = 'val']").send_keys(val)
def click_search(): """ 搜索:点击搜索按钮 :return: """ # # 时间 # select_time(timeType="下单时间", dateType="最近30日") # select_status(type="平台", status="等待派单") browser.find_element_by_css_selector(".fa.fa-search").click() # 通过类名查找搜索按钮
def operation_record(): recordList = browser.find_elements_by_css_selector(".fa.fa-list-ol") if len(recordList) > 0: recordList[0].click() locator = (By.ID,"myModalLabel") WebDriverWait(browser,3).until(EC.visibility_of_element_located(locator)) browser.find_element_by_css_selector(".close").click() else: print("无操作记录可查看")
def sweet_alter_visble(): locator = (By.CSS_SELECTOR, ".sweet-alert.showSweetAlert.visible") WebDriverWait(browser, 3).until(EC.visibility_of_element_located(locator)) if True: browser.find_element_by_css_selector( ".sa-confirm-button-container").click() # 是的,显示评价! confirm_ok() else: browser.find_element_by_css_selector( ".sa-button-container>button").click() # 取消弹窗
def search_setting(): time.sleep(2) # 选择桶装水 Select(browser.find_element_by_name("category")).select_by_visible_text("桶装水") # 桶类型,是否押金 Select(browser.find_element_by_name("deposit")).select_by_visible_text("免桶押金") # 输入商品ID browser.find_element_by_css_selector("input[placeholder = '商品编号/名称']").send_keys("6616") time.sleep(2) # 确定搜索 browser.find_element_by_css_selector(".fa.fa-search").click() # class = "fa fa-search"空格使用.代替
def select_buyer(buyerKey="买家昵称", buyerVal="桃子"): """ 买家: :param buyerKey:买家ID/买家昵称/收货人手机 :param buyerVal:请输入关键字,结合 buyerKey 值 :return: """ Select(browser.find_element_by_name("buyer_key")).select_by_visible_text( buyerKey) browser.find_element_by_css_selector( "input[name = 'buyer_val']").send_keys(buyerVal)
def filter_condition(): """ 搜索:选择过滤条件 :return: """ from time import sleep sleep(2) Select(browser.find_element_by_name("status")).select_by_visible_text( "正常") # 用户状态 # 点击搜索按钮 browser.find_element_by_css_selector(".fa.fa-search").click() # 通过类名查找搜索按钮
def select_other(otherKey="配送区域ID", otherVal="82"): """ 其他 :param otherKey:配送区域ID/配送中心ID/配送中心名称/供应商ID/供应商名称/配送点ID/配送点名称 :param otherVal:请输入关键字,结合 otherKey 值 :return: """ Select(browser.find_element_by_name("other_key")).select_by_visible_text( otherKey) browser.find_element_by_css_selector( "input[name = 'other_val']").send_keys(otherVal)
def filter_condition(): """ 搜索:选择过滤条件 :return: """ Select(browser.find_element_by_name("status")).select_by_visible_text( "已结束") # 活动状态 Select(browser.find_element_by_name("type")).select_by_visible_text("请选择") # browser.find_element_by_name("key").send_keys("") # 输入搜索字段 # 点击搜索按钮 browser.find_element_by_css_selector(".fa.fa-search").click() # 通过类名查找搜索按钮
def filter_condition(status = "活动状态"): """ 搜索:选择过滤条件 :return: """ browser.find_element_by_name("starttime").send_keys("2018-10-01 00:00:00") # 输入搜索字段 # browser.find_element_by_id("dpOkInput").click() browser.find_element_by_name("endtime").send_keys("2018-10-31 23:59:59") # 输入搜索字段 # browser.find_element_by_id("dpOkInput").click() # 点击搜索按钮 browser.find_element_by_css_selector(".fa.fa-search").click() # 通过类名查找搜索按钮
def del_focus_ad(): """ 删除焦点广告 :return: """ browser.find_element_by_css_selector( "button[data-url *= '/seo/ad/delete/60']").click() time.sleep(2) browser.find_element_by_css_selector( ".sa-confirm-button-container").click() time.sleep(1) focusSetInst.close_SweetAlert()
def stop_point_goods(): goodsList = browser.find_elements_by_css_selector( "button[data-url *= '/users/delivery_point/detail_goods/stop']") if len(goodsList) > 0: goodsList[0].click() time.sleep(1) browser.find_element_by_css_selector( ".sa-confirm-button-container").click() time.sleep(1) deliveryPointInst.close_SweetAlert() else: pass
def set_largeOrder(): browser.find_element_by_css_selector( "button[data-url $= '/users/delivery_man/large']").click() locator = (By.ID, "beginnumber") quantityInput = deliveryManInst.wait_element_visible(locator) if quantityInput is not False: quantityInput.clear() quantityInput.send_keys("5") browser.find_element_by_id("biguserBut").click() deliveryManInst.close_SweetAlert() else: pass
def edit_cityGoods(): #找到编辑按钮 editList = browser.find_elements_by_css_selector("button[data-action='编辑']") #查找多个 if len(editList) > 0: editList[0].click() else: print("当前城市暂无商品出售") # 等待编辑弹窗出现 locator = (By.CSS_SELECTOR, "#myModalLabel") WebDriverWait(browser, 3).until(EC.visibility_of_element_located(locator)) browser.find_element_by_css_selector("#goodsFormBut").click() # 编辑成功,点击OK close_ok_window()
def select_status(type="平台", status="交易完成"): """ 状态: :param type: 订单类型,平台/店铺 :param status: 订单状态,等待付款/交易关闭/等待派单/待成团/等待配送/配送中/交易完成,结合type使用 :return: """ Select(browser.find_element_by_name("type")).select_by_visible_text(type) time.sleep(0.5) Select( browser.find_element_by_name("status")).select_by_visible_text(status) browser.find_element_by_css_selector(".fa.fa-search").click() # 通过类名查找搜索按钮
def delete_deliveryPoint(): """ 删除配送点 :return: """ modifyBtn = browser.find_elements_by_css_selector( "button[data-url *= '/users/delivery_point/del/10694']") if len(modifyBtn) > 0: modifyBtn[0].click() time.sleep(1) browser.find_element_by_css_selector(".cancel").click() else: pass
def refund_watiki(): refundBtn = browser.find_elements_by_css_selector(".fa.fa-mail-reply-all") if len(refundBtn) > 0: refundBtn[0].click() browser.find_element_by_css_selector("input[name = 'money']").send_keys("0") Select(browser.find_element_by_name("reason")).select_by_visible_text("商品下架/缺货") Select(browser.find_element_by_name("refundBonuses")).select_by_visible_text("退还") # browser.find_element_by_css_selector(".btn.btn-primary").click() browser.find_element_by_id("adFormBut").click() time.sleep(2) orderWatikiInst.close_SweetAlert() else: pass