Exemple #1
0
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
Exemple #2
0
def get_dataTables_info():
    dataTables = browser.find_element_by_css_selector(".dataTables_info")
    text_dataTables = dataTables.text
    print(text_dataTables)
    # 正则表达式提取数字
    import re
    findResult = re.findall(r'\d+', text_dataTables)
    print(findResult)

    goodsNum = int(findResult[1])  # 共多少条记录
    pageBtnList = browser.find_elements_by_css_selector("li[class^='paginate_button']")  # 共多少页
    pageBtnNum = len(pageBtnList)
    print("翻页按钮数为:", pageBtnNum)
    if goodsNum % 10 == 0:
        pageNum = goodsNum // 10
    else:
        pageNum = goodsNum // 10 + 1

    if goodsNum <= 10:
        if pageNum == pageBtnNum:  # 只有1页时相等
            print("only onepage right")
        else:
            print("page error")
    else:
        if pageNum == pageBtnNum - 1:  # 大于1页时,页数+下一页
            print("page right")
        else:
            print("page error")
Exemple #3
0
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
Exemple #4
0
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()
Exemple #5
0
def order_add():
    """
    生成线下订单
    :return:
    """
    browser.find_element_by_css_selector(
        "button[data-url $= '/order/add']").click()
    try:
        locator = (By.NAME, "phone")
        nameInput = orderOfflineInst.wait_element_visible(locator, 5)
        nameInput.send_keys("13878857334")
        browser.find_element_by_css_selector(
            "#phoneform > div:nth-child(2) > ul").click()
        time.sleep(1)
        browser.find_element_by_id("phoneFormBut").click()
    except Exception as errMsg:
        print(errMsg)

    try:
        browser.find_element_by_css_selector(
            "div.addresslist.more > div:nth-child(2)").click()
        payType = browser.find_elements_by_css_selector(
            "input[name = 'paytype']")
        payType[1].click()
        browser.find_element_by_css_selector(".col-md-12.J-addgood").click()
    except Exception as errMsg:
        print(errMsg)
    # 添加商品
    try:
        addBtn = browser.find_elements_by_css_selector(".changnum.increase")
        if len(addBtn) > 0:
            addBtn[1].click()
            browser.find_element_by_id("addgoodsBut").click()
            # 选择送达时间
            Select(browser.find_element_by_id(
                "J_deliveryDay")).select_by_visible_text("11月09日 今天")
            Select(browser.find_element_by_id(
                "J_deliveryHour")).select_by_visible_text("尽快送达")
            browser.find_element_by_id("noteorder").send_keys("订单要尽快送达哦")
            browser.find_element_by_id("noteoperation").send_keys("自动化下单的")
            browser.find_element_by_id("orderFormBut").click()
            orderOfflineInst.close_SweetAlert()
        else:
            print("该收货地址没有商品")
    except Exception as errMsg:
        print(errMsg)
Exemple #6
0
def delete_comment():
    deleteList = browser.find_elements_by_css_selector(
        "button[data-action='删除评价']")
    if len(deleteList) > 0:
        deleteList[0].click()
    else:
        print("没有评论可删除")
    #您确认要删除评价?
    sweet_alter_visble()
Exemple #7
0
def see_settle_detailed():
    serverList = browser.find_elements_by_css_selector(".fa.fa-server")
    if len(serverList) > 0:
        serverList[0].click()
        time.sleep(2)
        orderWatikiInst.close_modal_content()
        # orderWatikiInst.close_SweetAlert()
    else:
        pass
Exemple #8
0
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("无操作记录可查看")
Exemple #9
0
def recover_comment():
    recoverList = browser.find_elements_by_css_selector(
        "button[data-action='显示评价']")
    if len(recoverList) > 0:
        recoverList[0].click()
    else:
        print("没有评论可恢复")
    # #您确认要恢复评价?
    sweet_alter_visble()
Exemple #10
0
def modify_workStatus():
    modifyBtn = browser.find_elements_by_css_selector(
        "button[data-url *= '/users/delivery_man/modifyWorkStatus']")
    if len(modifyBtn) > 0:
        modifyBtn[0].click()
        time.sleep(1)
        browser.find_element_by_id("userssort1").click()
        browser.find_element_by_id("statusBut").click()
        deliveryManInst.close_SweetAlert()
    else:
        pass
Exemple #11
0
def oplog_bonus_activity():
    """
    活动记录
    :return:
    """
    oplogBtn = browser.find_elements_by_css_selector(
        "button[data-url *= '/bonus_activity/oplog']")
    if len(oplogBtn) > 0:
        oplogBtn[0].click()
        bonusActivityInst.close_modal_content()
    else:
        pass
Exemple #12
0
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
Exemple #13
0
def see_logs():
    try:
        time.sleep(1)
        logList = browser.find_elements_by_css_selector(".fa.fa-history")
        if len(logList) > 0:
            logList[0].click()
        else:
            print("没有发布商品")
    except Exception as err_msg:
        print(err_msg)
    # 关闭日志窗口
    close_suspension_window()
Exemple #14
0
def settlement_info():
    try:
        settlementList = browser.find_elements_by_css_selector(
            "button[data-action='查看结算信息']")
        if len(settlementList) > 0:
            settlementList[0].click()
        else:
            print("当前城市暂无商品出售")
    except Exception as err_msg:
        print(err_msg)
    #查看后要手动关闭悬浮窗
    close_suspension_window()
Exemple #15
0
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
Exemple #16
0
def add_watikiMeal(addType=1):
    """
    添加水票
        :param addtype:  添加水票/套餐 ;1 = 套餐,2 = 水票
        :return:
    """
    addBtnList = []
    if addType == 1:
        addBtnList = browser.find_elements_by_css_selector(".fa.fa-cubes")

    elif addType == 2:
        addBtnList = browser.find_elements_by_css_selector(
            ".btn.btn-default.btn-sm.J-add-ticket")
    else:
        print("error parameter !!!")

    addBtnList[0].click()
    set_Para(addTyte=addType, watikiType=2)

    # 点击确定提交
    browser.find_element_by_id("waterticketBut").click()
    goodWatikiInst.close_SweetAlert()
Exemple #17
0
def exchange_watiki():
    exchangeBtn = browser.find_elements_by_css_selector(".fa.fa-exchange")
    if len(exchangeBtn) > 0:
        exchangeBtn[0].click()
        browser.find_element_by_css_selector("input[name = 'watikiId']").send_keys("17103")
        browser.find_element_by_css_selector("input[name = 'usedWaterQuantity']").send_keys("0")
        browser.find_element_by_css_selector("input[name = 'remarks']").send_keys("自动化测试")
        # browser.find_element_by_css_selector(".btn.btn-primary").click()
        browser.find_element_by_id("makeorderBut").click()
        time.sleep(2)
        # orderWatikiInst.close_SweetAlert()
    else:
        pass
Exemple #18
0
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
Exemple #19
0
def put_off_shelves():
    putOffList = browser.find_elements_by_css_selector("button[data-action='下架']")
    print(len(putOffList))
    if len(putOffList) > 0:
        putOffList[0].click()
        locator = (By.CSS_SELECTOR,".sa-confirm-button-container")
        ele = orderWatikiInst.wait_element_visible(locator,2)
        print("确定要下架商品吗?")
        ele.click()
        print("下架成功")

    else:
        print("暂无数据")
Exemple #20
0
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()
Exemple #21
0
def finish_bonus_activity():
    """
    结束正在进行中的活动
    :return:
    """
    filter_condition(status="进行中")
    finishBtn = browser.find_elements_by_css_selector(
        "button[data-url *= '/bonus_activity/finish']")
    if len(finishBtn) > 0:
        finishBtn[0].click()
        bonusActivityInst.onclick_confirm()
        time.sleep(0.5)
        bonusActivityInst.close_SweetAlert()
    else:
        print("没有进行中状态的活动")
Exemple #22
0
def modify_deliveryPoint():
    """
    修改配送点
    :return:
    """
    modifyBtn = browser.find_elements_by_css_selector(
        "button[data-url *= '/users/delivery_point/modify/10640']")
    if len(modifyBtn) > 0:
        modifyBtn[0].click()
        time.sleep(1)
        browser.find_element_by_name("remarks").send_keys("什么也不想改")
        browser.find_element_by_id("sendpointBut").click()
        deliveryPointInst.close_SweetAlert()
    else:
        pass
Exemple #23
0
def order_watiki():
    eleList = browser.find_elements_by_css_selector(".fa.fa-arrows-v")
    if len(eleList) > 0:
        eleList[0].click()
        locator = (By.CSS_SELECTOR, ".form-control.sort")
        sortInput = ComOperation.wait_element_visible(locator, 2)
        print("sortInput is :", type(sortInput))
        if sortInput is not None:
            sortInput.clear()
            sortInput.send_keys("301")
            browser.find_element_by_id("watersortBut").click()
            goodWatikiInst.close_SweetAlert()
        else:
            pass
    else:
        print("水票列表为空")
Exemple #24
0
def disable_bonus(boolCanle = True):
    cancleBobusList = browser.find_elements_by_css_selector("button[data-action='红包作废']")
    if len(cancleBobusList) > 0:
        cancleBobusList[0].click()
        wait_Popup_window()
        if boolCanle:
            browser.find_element_by_css_selector("input[placeholder='原因']").send_keys("测试看看作废状态是否发生变化")
            #点击确认
            click_confirm_window()
            #点击OK
            wait_Popup_window()
            click_confirm_window()
        else:
            click_cancle_window()
    else:
        print("没有可以作废的红包")
Exemple #25
0
def search_comment():
    print("search_comment start calling...")
    # 选择完成时间为最近30日
    Select(browser.find_element_by_name("timeType")).select_by_visible_text(
        "完成时间")
    browser.find_element_by_css_selector(
        "input[placeholder='请选择时间区间']").click()
    time.sleep(1)
    timeList = browser.find_elements_by_css_selector(
        "div[class='ranges']>ul>li")  # 查找下拉框所有可选的选项
    if len(timeList) > 0:
        timeList[3].click()
    else:
        print("error")
    #点击搜索按钮
    browser.find_element_by_css_selector(".fa.fa-search").click()  # 通过类名查找搜索按钮
Exemple #26
0
def activate_bonus(isActivate=True):
    try:
        time.sleep(0.5)
        shieldList = browser.find_elements_by_css_selector(
            "button[data-action='激活']")
        if len(shieldList) > 0:
            shieldList[0].click()
            if isActivate:
                #是的,激活!
                click_confirm_window()
                #OK
                click_confirm_window()
            else:
                click_cancle_window()
        else:
            print("没有可激活的红包")
    except Exception as err_msg:
        print("激活失败:", err_msg)
Exemple #27
0
def shield_bonus(isShield=True):
    try:
        time.sleep(0.5)
        shieldList = browser.find_elements_by_css_selector(
            "button[data-action='屏蔽']")
        if len(shieldList) > 0:
            shieldList[0].click()
            if isShield:
                # 是的,屏蔽!
                click_confirm_window()
                # OK
                click_confirm_window()
            else:
                click_cancle_window()
        else:
            print("没有可屏蔽的红包")
    except Exception as err_msg:
        print("屏蔽失败:", err_msg)
Exemple #28
0
def sale_warehouse_goods():
    """
    给商品铺货
    :return:
    """
    forward_warehouse_detail()
    browser.find_element_by_css_selector(
        "button[data-url *= '/users/warehouse/458208/sale']").click()
    browser.find_element_by_css_selector(
        "input.select2-search__field").send_keys("6663")
    time.sleep(0.5)
    locator = (By.CSS_SELECTOR, "ul.select2-results__options>li")
    WebDriverWait(browser,
                  2).until(EC.visibility_of_any_elements_located(locator))
    goodsList = browser.find_elements_by_css_selector(
        "li[class^='select2-results__option']")  # 类名以value值开头
    if len(goodsList) > 0:
        if goodsList[0].text == "未找到结果":
            print("未找到结果,输入的商品名称/ID不存在")
        else:
            goodsList[0].click()
            locator = (By.CSS_SELECTOR,
                       "div.sweet-alert.showSweetAlert.visible")
            print(
                "*********",
                time.strftime('%Y-%m-%d %H:%M:%S',
                              time.localtime(time.time())))
            saleFlag = warehouseInst.wait_element_visible(locator, 2)
            print("*********",
                  time.strftime('%Y-%m-%d %H:%M:%S',
                                time.localtime(time.time())))  # 最多应该是5s,为啥是10s
            print("*********", saleFlag)
            if saleFlag is not False:
                warehouseInst.close_SweetAlert()
                browser.refresh()
            else:
                browser.find_element_by_name("supplierPrice").send_keys("3.33")
                browser.find_element_by_name("warehousePrice").send_keys(
                    "4.44")
                browser.find_element_by_id("goodsFormBut").click()
                time.sleep(1)
                warehouseInst.close_SweetAlert()
    else:
        print("没有输入")
Exemple #29
0
def put_off_shelves():
    # 找到下架按钮
    try:
        time.sleep(1)
        offList = browser.find_elements_by_css_selector(
            "button[data-action='下架']")
        if len(offList) > 0:
            offList[0].click()
        else:
            print("当前城市暂无商品出售")
    except Exception as err_msg:
        print(err_msg)

    # 等待{你确认要下架}
    wait_popup_window()
    browser.find_element_by_css_selector(
        ".sa-confirm-button-container").click()
    # 操作成功,点击OK
    close_ok_window()
Exemple #30
0
def set_Para(addTyte=1, watikiType=1):
    """
     添加水票/套餐弹窗的参数选项设置
        :param addTyte:  添加水票/套餐 ;1 = 套餐,2 = 水票
        :param watikiType:  水票类型 ;1 = 专用,2 = 通用
        :return:
    """
    if addTyte == 1:  #添加套餐
        pass
    elif addTyte == 2:
        if watikiType == 2:  #通用水票
            import time
            time.sleep(2)
            browser.find_element_by_id("ticktype2").click()  # 水票类型,通用
            Select(browser.find_element_by_name(
                "ticket_num")).select_by_visible_text("18")  # 水票名称
            browser.find_element_by_css_selector(
                ".select2-search__field").send_keys("巴马")
        else:
            browser.find_element_by_css_selector(
                ".select2-search__field").send_keys("6616")
    else:
        print("error parameter !!! ")

    # 等待显示搜索结果
    import time
    time.sleep(1)
    locator = (By.CSS_SELECTOR, "ul.select2-selection__rendered>li")
    goodWatikiInst.wait_element_visible(locator, 2)
    goodWatikiList = browser.find_elements_by_css_selector(
        "li[class^='select2-results__option']")  # 类名以value值开头
    goodWatikiList[0].click()

    # 共用设置的参数选项
    browser.find_element_by_id("package_name").send_keys(
        "买2送1,超值套餐!!")  # 套餐名,选填
    Select(browser.find_element_by_name("priceid")).select_by_visible_text(
        "买9送1")  # 水票信息
    browser.find_element_by_name("sales").send_keys("0.01")  # 水票促销价
    settleNumEle = browser.find_element_by_name("settlenum")  # 起送数量
    settleNumEle.clear()
    settleNumEle.send_keys("2")
    browser.find_element_by_id("preferences").click()  # 参加新用户优惠