Ejemplo n.º 1
0
def add_focus_ad():
    """
    添加焦点广告
    :return:
    """
    browser.find_element_by_css_selector(
        "button[data-url *= '/seo/ad/create?type=1&postion_id=3&city=0']"
    ).click()
    locator = (By.NAME, "title")
    titleInput = focusSetInst.wait_element_visible(locator)
    if titleInput is not False:
        titleInput.send_keys("好水任你喝")
        browser.find_element_by_name("jump_url").send_keys(
            "http://wechat6.t-lianni.com/")
        browser.find_element_by_id("reservationtime").send_keys(
            "2018/10/26 09:00:00 - 2018/10/28 09:00:00 ")
        browser.find_element_by_css_selector(
            ".applyBtn.btn.btn-small.btn-sm.btn-success").click()
        browser.find_element_by_name("sort").send_keys("106")
        # 上传文件
        import os
        time.sleep(1)
        # browser.find_element_by_css_selector(".fa.fa-paperclip").click()
        # browser.find_element_by_css_selector("btn.btn-default.btn-file").click()
        browser.find_element_by_css_selector(
            "#adForm > div:nth-child(8) > div").click()
        os.system("upfile.exe")
    else:
        pass
Ejemplo n.º 2
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
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
Ejemplo n.º 5
0
def add_deliveryMan():
    browser.find_element_by_css_selector(
        "button[data-url $= '/users/delivery_man/add']").click()
    locator = (By.CSS_SELECTOR, ".form-control.nickname")
    nameInput = deliveryManInst.wait_element_visible(locator)
    if nameInput is not False:
        nameInput.send_keys("城东祥宾-袁渣渣")
    else:
        pass
    browser.find_element_by_css_selector(".form-control.phone").send_keys(
        "19914863531")
    browser.find_element_by_css_selector(".form-control.loginpass").send_keys(
        "a123456")
    browser.find_element_by_css_selector("input[name = 'level']").click()
    Select(browser.find_element_by_id("province")).select_by_visible_text("广西")
    time.sleep(1)
    Select(
        browser.find_element_by_css_selector(
            ".form-control.marginright.city")).select_by_visible_text("南宁市")
    time.sleep(1)
    Select(browser.find_element_by_name("shop")).select_by_visible_text(
        "城东祥宾路配送点")  # 10209
    browser.find_element_by_css_selector(
        "input[name = 'usersort'][value = '2']").click()
    browser.find_element_by_css_selector("input[name = 'remarks']").send_keys(
        "自动添加")
    browser.find_element_by_id("adddeliveryBut").click()
    deliveryManInst.close_SweetAlert()
Ejemplo n.º 6
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
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
Ejemplo n.º 9
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
Ejemplo n.º 10
0
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
Ejemplo n.º 11
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
Ejemplo n.º 12
0
def set_workTime():
    browser.find_element_by_css_selector(
        "button[data-url *= 'users/delivery_man/workTime']").click()
    locator = (By.ID, "begintime")
    begintime = deliveryManInst.wait_element_visible(locator, 2)
    if begintime is not False:
        begintime.clear()
        begintime.send_keys("10:00")
    else:
        pass
    endtime = browser.find_element_by_id("endtime")
    endtime.clear()
    endtime.send_keys("19:30")
    browser.find_element_by_id("setsaveBut").click()
    deliveryManInst.close_SweetAlert()
Ejemplo n.º 13
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("水票列表为空")
Ejemplo n.º 14
0
def additional_seckill():
    """
    追加抢购活动
    :return:
    """
    browser.find_element_by_css_selector(
        "button[data-url *= '/seo/seckill/additional/10023']").click()
    time.sleep(1)

    locator = (By.CSS_SELECTOR, ".sweet-alert.showSweetAlert.visible")
    Alert_ele = seckillInst.wait_element_visible(locator)
    if Alert_ele is not False:
        # 1.该商品存在尚未结束的抢购活动
        # 2.当前城市没有出售该水票(商品)或者已下架
        print(Alert_ele.text)
        locator = ".sa-confirm-button-container"
        browser.find_element_by_css_selector(locator).click()
        browser.refresh()
    else:
        # 3.正常追加抢购活动
        priceInput = browser.find_element_by_id("scarePrice")
        priceInput.clear()
        priceInput.send_keys("0.01")
        browser.find_element_by_id("number").send_keys("1")
        browser.find_element_by_id("reservationtime").send_keys(
            "2018-11-01 00:00:00 - 2018-11-01 23:59:59")
        browser.find_element_by_css_selector(
            ".applyBtn.btn.btn-small.btn-sm.btn-success").click()
        browser.find_element_by_id("traceBut").click()
        seckillInst.close_SweetAlert()
Ejemplo n.º 15
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("没有输入")
Ejemplo n.º 16
0
def search_bonusSendRecord():
    #红包状态
    Select(browser.find_element_by_id("status")).select_by_visible_text("未使用")
    #按红包编号搜索
    Select(browser.find_element_by_id("type")).select_by_visible_text("红包编号")
    browser.find_element_by_id("key").send_keys("10058")
    #红包获取时间
    #browser.find_element_by_id("starttime").click()
    #time.sleep(0.5)
    #browser.find_element_by_css_selector("body > div > div:nth-child(3) > table > tbody > tr:nth-child(2) > td.Wday").click()
    #time.sleep(0.3)
    #browser.find_element_by_id("dpOkInput").click()
    #browser.find_element_by_id("endtime").click()
    #time.sleep(0.5)
    #browser.find_element_by_css_selector("body > div > div:nth-child(3) > table > tbody > tr:nth-child(6) > td.Wtoday").click()
    #time.sleep(0.3)
    #browser.find_element_by_id("dpOkInput").click()
    #点击搜索
    browser.find_element_by_css_selector(".fa.fa-search").click()
Ejemplo n.º 17
0
def add_supplier():
    """
    添加供应商
    :return:
    """
    browser.find_element_by_css_selector(
        "button[data-url *= '/users/supplier/add']").click()
    locator = (By.CSS_SELECTOR, "input[placeholder = '供应商名称']")
    inputName = supplierInst.wait_element_visible(locator)
    if inputName is not False:
        inputName.send_keys("巴马活泉")
        browser.find_element_by_css_selector(
            "input[placeholder = '认证手机']").send_keys("18914863531")
        Select(browser.find_element_by_id("province")).select_by_visible_text(
            "广西")
        time.sleep(0.5)
        Select(
            browser.find_element_by_id("city")).select_by_visible_text("南宁市")
        browser.find_element_by_css_selector(
            "input[placeholder = '详细地址']").send_keys("金湖路55号亚航财富中心29层")
        browser.find_element_by_css_selector(
            "input[placeholder = '登录密码']").send_keys("123456")
        browser.find_element_by_css_selector(
            "input[placeholder = '提现密码']").send_keys("123456")
        browser.find_element_by_css_selector(
            "input[placeholder = '开户人姓名']").send_keys("袁渣渣")
        Select(browser.find_element_by_name("bank")).select_by_visible_text(
            "建设银行")
        Select(browser.find_element_by_name(
            "account_type")).select_by_visible_text("对私")
        browser.find_element_by_css_selector(
            "input[name = 'cardID']").send_keys("6227000011040161024")
        browser.find_element_by_css_selector(
            "input[name = 'cardadr']").send_keys("大柳树支行")
        browser.find_element_by_css_selector(
            "input[name = 'inter_code']").send_keys("986357")
        browser.find_element_by_css_selector(
            "input[name = 'remarks']").send_keys("自动添加")
        browser.find_element_by_id("addFormBut").click()
        supplierInst.close_SweetAlert()
    else:
        pass
Ejemplo n.º 18
0
def add_goods():
    # 添加商品
    browser.find_element_by_css_selector("div.box-tools").click()
    # 等待页面加载
    # locator = (By.CSS_SELECTOR,"form-control.categorysmall")
    # WebDriverWait(browser,5).until(EC.visibility_of_element_located(locator))
    time.sleep(2)

    Select(browser.find_element_by_name("second_cid")).select_by_visible_text("瓶装水")
    Select(browser.find_element_by_name("goods_brands_id")).select_by_visible_text("百崖禄桂")
    browser.find_element_by_id("goodsname").send_keys("百崖禄桂桶装水18L-tz")
    # 默认是免桶押金
    browser.find_element_by_css_selector("input[value='2']").click()

    # 上传图片
    """
    # https://jingyan.baidu.com/article/925f8cb8df6f11c0dde056c1.html
    # https://www.cnblogs.com/fnng/p/4188162.html : selenium借助AutoIt识别上传(下载)详解
    """
    import os
    browser.find_element_by_css_selector("object#SWFUpload_0").click()
    os.system("upfile.exe")

    # 向富文本编辑器输入内容 https://blog.csdn.net/ever_mwumli/article/details/77945844
    # 首先定位到最外面的 iframe 框架:
    iframe = browser.find_element_by_css_selector("iframe.ke-edit-iframe")
    # 进入 iframe 框架
    browser.switch_to_frame(iframe)
    # 定位输入框写入内容
    browser.find_element_by_css_selector("body.ke-content").send_keys("新品上市")
    # 退出 iframe 框架
    browser.switch_to_default_content()
    # 点击提交后,有可能弹窗提示成功
    time.sleep(15)
    updategoods = browser.find_element_by_css_selector(".btn.btn-primary.materialok")
    # updategoods = browser.find_element_by_id("updategoods") 使用id可以定位到,但是无法提交
    print(updategoods.text)
    updategoods.click()
    print("*****")

    close_ok_window()
Ejemplo n.º 19
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()
Ejemplo n.º 20
0
def set_partner_default():
    """
    邀请人默认值设置
    :return:
    """
    browser.find_element_by_link_text("邀请人管理").click()
    browser.find_element_by_css_selector(
        "button[data-url *= '/seo/partner/default']").click()
    locator = (By.ID, "day")
    dayInput = partnerInst.wait_element_visible(locator)
    if dayInput is not False:
        # 输入框原本有默认值,需要清空再输入
        dayInput.clear()
        dayInput.send_keys("365")
        commisInput = browser.find_element_by_id("commission")
        commisInput.clear()
        commisInput.send_keys(20)
    else:
        pass
    browser.find_element_by_id("biguserBut").click()
    time.sleep(1)
    partnerInst.close_SweetAlert()
Ejemplo n.º 21
0
def order_reservation():
    """
    转预约
    :return:
    """
    select_time(timeType="下单时间", dateType="最近30日")
    select_status(type="平台", status="等待派单")
    click_search()
    orderList = browser.find_elements_by_css_selector(
        "button[data-url $= 'reservation']")
    if len(orderList) > 0:
        orderList[0].click()
        locator = (By.CSS_SELECTOR, ".form-control.time")
        timeInput = orderOnlineInst.wait_element_visible(locator)
        if timeInput is not False:
            timeInput.send_keys("2018-11-10 17:50:00")
            browser.find_element_by_id("changBut").click()
            time.sleep(1)
            orderOnlineInst.close_SweetAlert()
        else:
            pass
    else:
        pass
Ejemplo n.º 22
0
def order_dispatch():
    """
    派单
    :return:
    """
    select_time(timeType="下单时间", dateType="最近30日")
    select_status(type="平台", status="等待派单")
    click_search()
    orderList = browser.find_elements_by_css_selector(
        "button[data-url $= 'dispatch']")
    if len(orderList) > 0:
        orderList[0].click()
        locator = (By.CSS_SELECTOR, "input[name = 'staff']")
        # locator = (By.CSS_SELECTOR, ".form-control.staff")
        staffInput = orderOnlineInst.wait_element_visible(locator)
        if staffInput is not False:
            staffInput.send_keys("潘荣飞")
            browser.find_element_by_id("changBut").click()
            time.sleep(1)
            orderOnlineInst.close_SweetAlert()
        else:
            pass
    else:
        pass
Ejemplo n.º 23
0
def additional_bonus_activity():
    """
    追加已经结束的活动
    :return:
    """
    filter_condition(status="已结束")
    additionBtn = browser.find_elements_by_css_selector(
        "button[data-url *= '/bonus_activity/additional']")
    if len(additionBtn) > 0:
        additionBtn[0].click()
        locator = (By.ID, "number")
        numInput = bonusActivityInst.wait_element_visible(locator)
        if numInput is not False:
            numInput.send_keys("3")
            browser.find_element_by_id("reservationtime").send_keys(
                "2018/11/02 00:00:00 - 2018/11/02 23:59:59")
            browser.find_element_by_css_selector(
                ".applyBtn.btn.btn-small.btn-sm.btn-success").click()
            browser.find_element_by_id("traceBut").click()
            bonusActivityInst.onclick_confirm()
        else:
            pass
    else:
        pass
Ejemplo n.º 24
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()  # 参加新用户优惠
Ejemplo n.º 25
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()
Ejemplo n.º 26
0
def add_deliveryPoint():
    browser.find_element_by_css_selector(
        "button[data-url *= '/users/delivery_point/add']").click()
    locator = (By.CSS_SELECTOR, "input[name = 'phone']")
    inputPhone = deliveryPointInst.wait_element_visible(locator)
    if inputPhone is not False:
        inputPhone.send_keys("18914863532")
        browser.find_element_by_name("loginpass").send_keys("123456")
        Select(
            browser.find_element_by_name("city")).select_by_visible_text("南宁市")
        time.sleep(0.5)
        Select(browser.find_element_by_name(
            "distribution")).select_by_visible_text("南宁配送中心")
        browser.find_element_by_id("type1").click()
        browser.find_element_by_name("remarks").send_keys("程序添加的")
        browser.find_element_by_id("sendpointBut").click()
        deliveryPointInst.close_SweetAlert()
        # 完善信息
        browser.find_element_by_id("Storename").send_keys("金湖配送点")
        browser.find_element_by_id("range").send_keys("100")
        browser.find_element_by_id("address").send_keys("金湖路55号亚航财富中心29层")
        # 向富文本框输入内容
        # 首先定位到最外面的 iframe 框架:
        iframe = browser.find_element_by_css_selector("iframe.ke-edit-iframe")
        # 进入 iframe 框架
        browser.switch_to_frame(iframe)
        # 定位输入框写入内容
        browser.find_element_by_css_selector("body.ke-content").send_keys(
            "自动化添加测试")
        # 退出 iframe 框架
        browser.switch_to_default_content()

        saveBtn = browser.find_element_by_id("shopFormBtn")
        while True:  # 点击多次保存才生效,不懂为啥
            saveBtn.click()
            locator = (By.CSS_SELECTOR,
                       "div.sweet-alert.showSweetAlert.visible")
            sucessFlag = deliveryPointInst.wait_element_visible(locator)
            if sucessFlag is False:
                continue
            else:
                deliveryPointInst.close_SweetAlert()
                break
        browser.back()
    else:
        pass
Ejemplo n.º 27
0
def order_change_deliveryman(staffNew="梁文杭"):
    """
    更换配送员  -- 与派单弹窗一样
    :param staffName : 新的配送员名称
    :return:
    """
    select_time(timeType="下单时间", dateType="最近30日")
    select_status(type="平台", status="等待配送")
    click_search()
    orderList = browser.find_elements_by_css_selector(
        "button[data-url *= 'order/changdeliveryman']")
    if len(orderList) > 0:
        orderList[0].click()
        locator = (By.CSS_SELECTOR, "input[name = 'staff']")
        staffInput = orderOnlineInst.wait_element_visible(locator)
        if staffInput is not False:
            staffDiv = browser.find_element_by_css_selector(
                "div.modal-body > div > div > div:nth-child(3) "
            )  # > label > span:nth-child(1)
            staffCur = staffDiv.text
            if staffNew in staffCur:
                # 与当前配送员相同
                print("与当前配送员相同,无需更换")
                browser.find_element_by_css_selector(
                    "div.modal-content > div.modal-footer > button.btn.btn-default"
                ).click()
            else:
                staffInput.send_keys(staffNew)
                browser.find_element_by_css_selector("#changstaffForm").click()
                orderOnlineInst.print_curTime()  # 1等待时间测试
                staffExist = orderOnlineInst.wait_SweetAlert_visible()
                orderOnlineInst.print_curTime()  # 2等待时间测试
                if staffExist is False:
                    # 配送员存在
                    browser.find_element_by_id("changBut").click()
                    time.sleep(1)
                    submitRes = orderOnlineInst.wait_SweetAlert_visible()
                    print("submitRes:", submitRes.text)
                    if "成功" in submitRes.text:
                        # 正常更换
                        orderOnlineInst.close_SweetAlert()
                        print("更换成功!新的配送员是:", staffNew)
                    else:
                        # 配送员不正确或配送员当前状态不能接单
                        orderOnlineInst.close_SweetAlert()
                        time.sleep(1)
                        browser.find_element_by_css_selector(
                            "div.modal-content > div.modal-footer > button.btn.btn-default"
                        ).click()
                        print("配送员不是正常接单状态...")
                else:
                    # 配送员不存在
                    print("staffExist:", staffExist.text)
                    orderOnlineInst.close_SweetAlert()
                    time.sleep(1)
                    browser.find_element_by_css_selector(
                        "div.modal-content > div.modal-footer > button.btn.btn-default"
                    ).click()
        else:
            print("更换配送员-弹窗失败")
    else:
        print("更换配送员-查找按钮失败")
Ejemplo n.º 28
0
def create_bonus(quantity=None,
                 expiresType=1,
                 limitType=None,
                 boolCreate=True):
    locator = (By.CSS_SELECTOR, "button[data-url$='seo/bonus/create']")
    WebDriverWait(browser, 3).until(EC.visibility_of_element_located(locator))
    browser.find_element_by_css_selector(
        "button[data-url$='seo/bonus/create']").click()
    locator = (By.CSS_SELECTOR, "#myModalLabel")
    WebDriverWait(browser, 3).until(EC.visibility_of_element_located(locator))
    if boolCreate:
        css_bonusName = "input[placeholder='红包名称']"
        css_discount = "input[name='discount']"
        css_quantuty = "input[name='quantity']"
        css_expiresType = "input[name='expiresType']"  #3个选择
        id_limitType = {
            "Type": "I_Type",
            "Amount": "I_Amount",
            "Category": "I_Category",
            "Items": "I_Items",
            "Area": "I_Area"
        }
        browser.find_element_by_css_selector(css_bonusName).send_keys("测试红包")
        browser.find_element_by_css_selector(css_discount).send_keys("18")
        if quantity is not None:
            browser.find_element_by_css_selector(css_quantuty).send_keys(
                "5")  #设置红包个数
        else:
            pass
        #设置有效期类型
        expiresTypeList = browser.find_elements_by_css_selector(
            css_expiresType)
        if expiresType == 1:  #当月有效
            expiresTypeList[0].click()
        elif expiresType == 2:  #红包领取之日起x天有效
            expiresTypeList[1].click()
        else:
            expiresTypeList[2].click()
        #使用限制 多种组合,暂不实现
        if limitType is not None:
            # 水票可用
            #browser.find_element_by_id(id_limitType["Type"]).click()
            # 订单(水票)满 x 元可用
            browser.find_element_by_id(id_limitType["Amount"]).click()
            browser.find_element_by_css_selector(
                "input[name = 'amount']").send_keys("5")
            #指定商品类目为,如果红包指定水票可用,则该限制不可
            #document.querySelectorAll('#I_Type')使用js在控制台可以看到这个属性值,但是还不知道如何获取
            typeChecked = browser.find_element_by_id(id_limitType["Type"])
            if False:
                print("红包指定水票可用,则该限制不可用")
                pass
            else:
                browser.find_element_by_id(id_limitType["Category"]).click()
                Select(browser.find_element_by_css_selector(
                    "#mainCategory")).select_by_visible_text("其他商品")
            #指定商品(水票)
            browser.find_element_by_id(id_limitType["Items"]).click()
            browser.find_element_by_css_selector(
                "input[name = 'goodsIds']").send_keys("6566")
            #勾选指定地区
            browser.find_element_by_id(id_limitType["Area"]).click()
            Select(browser.find_element_by_css_selector(
                "#city")).select_by_visible_text("柳州市")

            time.sleep(1)
            browser.find_element_by_css_selector("#bonusFormBut").click()
            click_confirm_window()
        else:
            pass
    else:
        css = "div.modal-footer > button.btn.btn-default"
        browser.find_element_by_css_selector(css).click()
Ejemplo n.º 29
0
    def add_groupBuy(self):
        # 点击添加团购
        add_btn = ".btn.btn-default.btn-sm.modal-btn"
        browser.find_element_by_css_selector(add_btn).click()

        # 勾选桶装水,默认选中水票
        locator = (By.CSS_SELECTOR, "#activitytype1")
        ele = WebDriverWait(browser,
                            4).until(EC.visibility_of_element_located(locator))
        if ele is not False:
            print(ele)
            ele.click()
        else:
            pass

        # 定位当前页面所有的输入框
        input_ele = "input.select2-search__field"
        inputList = browser.find_elements_by_css_selector(input_ele)
        # 绑定商品
        inputList[0].send_keys("巴马")
        time.sleep(1)
        # 等待显示搜索结果
        locator = (By.CSS_SELECTOR, "ul.select2-selection__rendered>li")
        WebDriverWait(browser,
                      4).until(EC.visibility_of_any_elements_located(locator))
        goodsList = browser.find_elements_by_css_selector(
            "li[class^='select2-results__option']")  # 类名以value值开头
        resultText = goodsList[0].text
        if resultText == "未找到结果":
            pass
        else:
            goodsList[0].click()

        browser.find_element_by_id("scarePrice").send_keys("0.01")
        browser.find_element_by_id("scareNum").send_keys("5")
        # 获取当前时间
        import datetime
        curTiem = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        delayTime = datetime.datetime.now() + datetime.timedelta(minutes=5)
        delayTimeF = delayTime.strftime('%Y-%m-%d %H:%M:%S')
        print("curTiem", curTiem)
        print("delayTimeF", delayTimeF)
        browser.find_element_by_id("endtime").send_keys(delayTimeF)
        browser.find_element_by_css_selector("input[id = 'name']").send_keys(
            "团购-桶装水小程序支付")

        # 发团人
        inputList[1].send_keys("15220089922")
        time.sleep(1)
        # 等待显示搜索结果
        locator = (By.CSS_SELECTOR, "ul.select2-selection__rendered>li")
        WebDriverWait(browser,
                      4).until(EC.visibility_of_any_elements_located(locator))
        sponsorList = browser.find_elements_by_css_selector(
            "li[class^='select2-results__option']")  # 类名以value值开头
        resultText = sponsorList[0].text
        if resultText == "未找到结果":
            pass
        else:
            sponsorList[0].click()

        browser.find_element_by_css_selector(".btn.btn-primary").click()
        # 执行成功,需要关闭OK对话框
        self.click_confirm_window()
Ejemplo n.º 30
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)