appium报错:[W3C] Matched W3C error code ‘no such element‘ to NoSuchElementError

项目场景:

程序控制链接考研帮APP
python 3.8
appium 1.15.1
夜神模拟器 7.0.1.0
考研帮.apk
实现代码如下:

 from appium import webdriver
import time
desired_caps={}
desired_caps['platformName']='Android'#系统
desired_caps['platformVersion']='7.1.2'#版本,在夜神模拟机中查看
desired_caps['deviceName']='127.0.0.1:62001'#虽然这里的端口号是62001,但是链接Appium的时候是写4723
#软件包名字的获取:管理员打开终端,输入aapt dump badging "F:\kaoyanbang.apk"查看
#安装包名称是中文时,会报错,改为英文正常读取
#package:
# name='com.tal.kaoyan'
# versionCode='132'
# versionName='3.8.2beta'
# compileSdkVersion='29'
# compileSdkVersionCodename='10'
desired_caps['appPackage']='com.tal.kaoyan'
#另找到如下数据:
#launchable-activity: name='com.tal.kaoyan.ui.activity.SplashActivity'  label='' icon=''
desired_caps['appActivity']='com.tal.kaoyan.ui.activity.SplashActivity'#因为首次启动,activity名称很长

#开始连接
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

#开始定位

driver.find_element_by_id('com.tal.kaoyan:id/tip_commit').click()#点击同意协议

driver.find_element_by_id('com.tal.kaoyan:id/tv_ok').click()#点击‘我知道了’

driver.find_element_by_id('com.tal.kaoyan:id/tv_skip').click()#点击‘跳过’

问题描述:

appium报错找不到定位元素:

[W3C] Matched W3C error code 'no such element' to NoSuchElementError
[W3C (0bb6cd5f)] Encountered internal error running command: NoSuchElementError: An element could not be located on the page using the given search parameters.
[W3C (0bb6cd5f)]     at AndroidUiautomator2Driver.findElOrEls (C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-android-driver\lib\commands\find.js:75:11)
[HTTP] <-- POST /wd/hub/session/0bb6cd5f-4086-418f-a307-18ecb7a30450/element 404 1163 ms - 421
[HTTP] 

原因分析:

怀疑是程序读取太快,夜神模拟器反应慢

解决方案:

加上延时,解决。

#开始定位
time.sleep(2)
driver.find_element_by_id('com.tal.kaoyan:id/tip_commit').click()#点击同意协议
time.sleep(2)
driver.find_element_by_id('com.tal.kaoyan:id/tv_ok').click()#点击‘我知道了’
time.sleep(2)
driver.find_element_by_id('com.tal.kaoyan:id/tv_skip').click()#点击‘跳过’
appium日志如下:
[W3C (5f8d3926)] Calling AppiumDriver.click() with args: ["54eec99f-d257-444d-89b3-fb6f6a1e2ff7","5f8d3926-a608-4ba3-a6e6-ac2dfc7d408c"]
[WD Proxy] Matched '/element/54eec99f-d257-444d-89b3-fb6f6a1e2ff7/click' to command name 'click'
[WD Proxy] Proxying [POST /element/54eec99f-d257-444d-89b3-fb6f6a1e2ff7/click] to [POST http://localhost:8202/wd/hub/session/2acccb73-c952-4221-a30a-d5554129883a/element/54eec99f-d257-444d-89b3-fb6f6a1e2ff7/click] with body: {"element":"54eec99f-d257-444d-89b3-fb6f6a1e2ff7"}
[WD Proxy] Got response with status 200: {"sessionId":"2acccb73-c952-4221-a30a-d5554129883a","value":null}
[W3C (5f8d3926)] Responding to client with driver.click() result: null
[HTTP] <-- POST /wd/hub/session/5f8d3926-a608-4ba3-a6e6-ac2dfc7d408c/element/54eec99f-d257-444d-89b3-fb6f6a1e2ff7/click 200 11 ms - 14
[HTTP] 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值