Appium+Python第四篇:元素定位和基本操作

一、元素定位

1、通过id属性定位

driver.find_element_by_id(' ')

2、通过class属性定位

driver.find_elements_by_class_name()

3、通过xpath属性定位

driver.find_elements_by_xpath()
driver.find_elements_by_xpath(‘//*[@text="全程班" and @id=" " ’) 通过标签中的某属性去定位

4、通过Uiselector定位

(1)定位表达式写法:new UiSelector().方法(参数)
(2)多种方式定位:new UISelector().方法(参数).方法(参数)
(3)可调用方法的API文档:https://www.apiref.com/android-zh/android/support/test/uiautomator/UiSelector.html

driver.find_elements_by_android_uiautomator('new UiSelector().text("xxx")').click  #通过文本定位,比xpath更高效

常用的方法:
description():对应的是content-desc属性
resourceID():同by_id()的用法
text():通过text值定位
textContains():文本比较长的时候,可以用textContains模糊匹配,只要文本包含匹配内容就可以
textStartsWith():是以某个文本开头的匹配
textMatches():正则匹配,这个需要配合正则表达式

5、通过description属性定位

driver.find_element_by_accessibility_id():对应的字段是content-desc

二、元素的基本操作方式

1、点击:click()
2、输入:send_keys()
3、获取元素文本:text()
4、获取元素属性:get_attribute()
5、清空输入框:clear()

例如:获取元素文本
ele = driver.find_element_by_id('id属性值')
r1 = ele.text()

三、三大等待

1、隐式等待

driver.implicitly_wait(100000)

2、显示等待

from selenium.webdriver.support.wait import  WebDriverWait
from selenium.webdriver.support import  expected_conditions as EC
from appium.webdriver.common.mobileby import MobileBy    #需要导的包

locator = (MobileBy.ANDROID_UIAUTOMATOR,'new UiSelect().text("")')
locator = (By.ANDROID_UIAUTOMATOR,'new UiSelect().text("")')
locator = (MobileBy.ANDROID_UIAUTOMATOR,'new UiSelect().text("")')
WebDriverWait(driver,20,0.5).until(
    EC.visibility_of_element_located(locator)
)
解释:
WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
driver:WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)
timeout:最长超时时间,默认以秒为单位
poll_frequency:休眠时间的间隔(步长)时间,默认为 0.5 秒
ignored_exceptions:超时后的异常信息,默认情况下抛

MobileBy和By是继承关系,MobileBy包含了By

在这里插入图片描述
3、强制等待

import time
time.sleep(5)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值