老师,我在写完粉丝列表自动滑动的代码后,打开appium测试,前几步都正常运行,运行到粉丝列表的时候,本该进行自动滑动操作,但是没有出现这一操作,并且报了图一所示的错误,在百度上查了之后,说是from datetime import time中的time与time.sleep(1)中的time冲突了,于是在上边又加上了import time,这次到粉丝列表时进行了自动滑动操作,但是并没有实际的向上滑,只是在屏幕上出现了滑动的操作而已,并且报了如图二所示的错误,请问是导包的错误吗还是别的错误。
#appium
from datetime import time
from appium import webdriver#用来等待元素控件
from selenium.webdriver.support.ui import WebDriverWait
cap = {"platformName": "Android",
"platformVersion": "4.4.2",
"deviceName": "127.0.0.1:62025",
"appPackage": "com.ss.android.ugc.aweme",
"appActivity": "com.ss.android.ugc.aweme.splash.SplashActivity",
"noReset": True,
"unicodekeyboard": True,
"resetkeyboard": 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,10).until(lambda x:x.find_element_by_id("com.ss.android.ugc.aweme:id/aos")):
driver.find_element_by_id("com.ss.android.ugc.aweme:id/aos").click()
except:
pass
#定位的是搜索框
if WebDriverWait(driver,10).until(lambda x:x.find_element_by_xpath("//android.widget.EditText[@resource-id=‘com.ss.android.ugc.aweme:id/aeq’]")):
driver.find_element_by_xpath("//android.widget.EditText[@resource-id=‘com.ss.android.ugc.aweme:id/aeq’]").click()
driver.find_element_by_xpath("//android.widget.EditText[@resource-id=‘com.ss.android.ugc.aweme:id/aeq’]").send_keys("191433445")
while driver.find_element_by_xpath("//android.widget.EditText[@resource-id=‘com.ss.android.ugc.aweme:id/aeq’]").text != "191433445":
driver.find_element_by_xpath("//android.widget.EditText[@resource-id=‘com.ss.android.ugc.aweme:id/aeq’]").send_keys("191433445")
time.sleep(0.1)
#搜索
driver.find_element_by_xpath("//android.widget.TextView[@resource-id=‘com.ss.android.ugc.aweme:id/aet’]").click()
#点击用户标签
if WebDriverWait(driver,10).until(lambda x:x.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.support.v7.app.ActionBar.Tab[3]/android.widget.LinearLayout/android.widget.TextView")):
driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.HorizontalScrollView/android.widget.LinearLayout/android.support.v7.app.ActionBar.Tab[3]/android.widget.LinearLayout/android.widget.TextView").click()
#查看是否有关注标签
if WebDriverWait(driver,10).until(lambda x:x.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.view.View/android.support.v7.widget.RecyclerView/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[2]/android.widget.RelativeLayout/android.widget.TextView")):
driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.view.View/android.support.v7.widget.RecyclerView/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.ImageView[2]").click()
#查看是否有粉丝
if WebDriverWait(driver,10).until(lambda x:x.find_element_by_xpath("//android.widget.TextView[@text=‘粉丝’]")):
driver.find_element_by_xpath("//android.widget.TextView[@text=‘粉丝’]").click()
time.sleep(1) #就是这步提示出错!!!
l = get_size()
x1 = int(l[0]*0.5)
y1 = int(l[1]*0.9)
y2 = int(l[1]*0.15)
while True:
if "暂时没有更多了" in driver.page_source:
break
else:
#初始鼠标位置,从哪开始,结束时鼠标位置,到哪结束
driver.swipe(x1,y1,x1,y2)
time.sleep(0.1)