Appiun钉钉打卡程序demo

from appium import webdriver
import time
from send_mail import send_mail
from send_mail import djs
from send_mail import killPid
from selenium.common.exceptions import NoSuchElementException


#倒计时等待
djs(10)
# 杀占用端口5037
killPid("5037",3)
#安卓参数配置
desired_cap = {}
desired_cap["platformName"] = "Android"
# desired_cap["deviceName"] = "127.0.0.1:62001"
desired_cap["deviceName"] = "MI NOTE LTE"
desired_cap["platformVersion"] = "6.0.1"
# 真机需要配置udid参数
desired_cap["udid"] = "9684b868"
# app的信息
# desired_cap["app"] = r"C:\Users\Administrator\Desktop\Appium\app\com.alibaba.android.rimet_542.apk"
desired_cap["appPackage"] = "com.alibaba.android.rimet"
desired_cap["appActivity"] = "com.alibaba.android.rimet.biz.LaunchHomeActivity"

def getSize():
    x = dr.get_window_size()['width']
    y = dr.get_window_size()['height']
    return (x, y)

# 屏幕向上滑动
def swipeUp(t):
    l = getSize()
    x1 = int(l[0] * 0.5)  # x坐标
    y1 = int(l[1] * 0.75)  # 起始y坐标
    y2 = int(l[1] * 0.25)  # 终点y坐标
    dr.swipe(x1, y1, x1, y2, t)

def login():
    time.sleep(2)
    dr.find_element_by_id("com.alibaba.android.rimet:id/login_slide_btn").click()
    time.sleep(2)
    dr.find_element_by_id("com.alibaba.android.rimet:id/et_phone_input").send_keys("13213003112")
    dr.find_element_by_id("com.alibaba.android.rimet:id/et_pwd_login").send_keys("dingding185815")
    dr.find_element_by_id("com.alibaba.android.rimet:id/tv").click()
    time.sleep(3)
    dr.find_element_by_id("同意").click()
    time.sleep(5)
def clickdaka():
    # swipeUp(1000)
    time.sleep(10)
    # dr.find_element_by_id("com.alibaba.android.rimet:id/home_bottom_tab_button_work").click()
    # dr.find_element_by_xpath("//android.widget.RelativeLayout[@content-desc='工作']/android.widget.FrameLayout[1]/android.widget.ImageView").click()
    dr.find_element_by_id("考勤打卡").click()
    time.sleep(5)
    dr.find_element_by_id("android:id/button1").click()
    time.sleep(5)
    dakadevice = dr.find_element_by_xpath("//android.view.View[4]/android.view.View[contains(@content-desc,'班打卡')]")
    dakatext = dakadevice.get_attribute("name")
    print(dakatext)
    if dakatext == "上班打卡":
        time.sleep(2)
        dakadevice.click()
        time.sleep(2)
        dr.get_screenshot_as_file("E://aa.png")
        send_mail("E://aa.png", ["aaaaa@163.com", "aaaaa@qq.com"])
    elif dakatext == "下班打卡":
        time.sleep(2)
        dakadevice.click()
        time.sleep(2)
        dr.get_screenshot_as_file("E://aa.png")
        send_mail("E://aa.png",["aaaa@163.com","aaaa@qq.com"])
    else:
        print(dakatext)

dr = webdriver.Remote('http://localhost:4723/wd/hub', desired_cap)

try:
    login()
    clickdaka()
except NoSuchElementException:
    login()
    clickdaka()
except:
    login()
    clickdaka()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值