李明
|
流程代码
2.设置-应用-点击【考研帮】-清除数据
5.看到uiautomatorviewer 和 夜神模拟器 6.appium启动
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/1/22 20:15
# @Author : Aries
# @Site :
# @File : yankao.py
# @Software: PyCharm
#pip3 install Appium-Python-Client import time
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
cap = {
"platformName":
"Android",
"platformVersion":
"5.1.1",
"deviceName":
"127.0.0.1:62001",
"appPackage":
"com.tal.kaoyan",
"appActivity":
"com.tal.kaoyan.ui.activity.SplashActivity",
"noReset": True
}
driver = webdriver.Remote(
"http://localhost:4723/wd/hub",
cap)
def get_size():
x = driver.get_window_size()[
'width']
y = driver.get_window_size()[
'height']
return(x,y)
#导航点击跳过 try:
#是否跳过
if WebDriverWait(driver,3).until(lambda x:x.find_element_by_xpath(
"//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.TextView[1]")):
driver.find_element_by_xpath(
"//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.TextView[1]").click()
except:
pass
try:
if WebDriverWait(driver,3).until(lambda x:x.find_element_by_xpath(
"//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.LinearLayout[1]/android.widget.EditText[1]")):
driver.find_element_by_xpath(
"//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.LinearLayout[1]/android.widget.EditText[1]").send_keys(
"idig8")
driver.find_element_by_xpath(
"//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.LinearLayout[1]/android.widget.EditText[2]").send_keys(
"3989441")
driver.find_element_by_xpath(
"//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.LinearLayout[1]/android.widget.Button[1]").click()
except:
pass
#隐私协议 try:
#隐私协议
if WebDriverWait(driver,3).until(lambda x:x.find_element_by_xpath(
"//android.widget.TextView[@resource-id='com.tal.kaoyan:id/tv_agree']")):
driver.find_element_by_xpath(
"//android.widget.TextView[@resource-id='com.tal.kaoyan:id/tv_agree']").click()
driver.find_element_by_xpath(
"//android.support.v7.widget.RecyclerView[@resource-id='com.tal.kaoyan:id/date_fix']/android.widget.RelativeLayout[3]").click()
except:
pass
#点击研讯
if WebDriverWait(driver,3).until(lambda x:x.find_element_by_xpath(
"//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.view.ViewPager[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[2]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.support.v4.view.ViewPager[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.support.v7.widget.RecyclerView[1]/android.widget.LinearLayout[1]/android.support.v7.widget.RecyclerView[1]/android.widget.RelativeLayout[3]/android.widget.LinearLayout[1]/android.widget.ImageView[1]")):
driver.find_element_by_xpath(
"//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.view.ViewPager[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[2]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.support.v4.view.ViewPager[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.support.v7.widget.RecyclerView[1]/android.widget.LinearLayout[1]/android.support.v7.widget.RecyclerView[1]/android.widget.RelativeLayout[3]/android.widget.LinearLayout[1]/android.widget.ImageView[1]").click()
l = get_size()
x1 = int(l[0]*0.5)
y1 = int(l[1]*0.75)
y2 = int(l[1]*0.25)
#滑动操作
while True:
driver.swipe(x1,y1,x1,y2)
time.sleep(0.5)
复制代码
注意点:
2.python在运行过程中如果进行uiautomatorviewer加载会报错 5.里面有几个需要注意的套路:
webdriver.Remote(" http://localhost:4723/wd/hub",cap)
if WebDriverWait(driver,3).until(lambda x:x.find_element_by_xpath("'路径")):
driver.find_element_by_xpath("路径").send_keys("填入数据")
driver.find_element_by_xpath("路径").click()
def get_size():
l = get_size()
0.5)
0.75)y1 = int(l[1] y2 = int(l[1]*0.25) driver.swipe(x1,y1,x1,y2) PS:最后实现了如何从登陆到点击研迅,模拟手指,拉下加载的功能。 |
2019-05-28 09:06:53
李明 最后编辑, 2019-06-10 09:26:11