元素的属性我们经常会用到,当定位到某个元素后,有时会需要用到这个元素的 text值、className、resource-id、checked等。
一般标准的属性我们都可以通过get_attribute(“属性名称”)来获取,我们来看看下面截图的元素都是怎么获取的吧。从上到下来看。
我们从text开始讲,我们先通过xpath方式定位到这个元素
# coding:utf-8from appium import webdriverimport timedesired_caps = { "platformName": "Android", "deviceName": "emulator-5554", "platformVersion": "5.1.1", "appPackage": "com.sdu.didi.gsui", "noReset": True, "appActivity": "com.didichuxing.driver.sdk.LauncherActivity" }driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)driver.find_element_by_xpath("//android.widget.EditText[@resource-id='com.sdu.didi.gsui:id/et_phone' and @text='请输入手机号码']").click()driver.find_element_by_xpath("//android.widget.EditText[@resource-id='com.sdu.didi.gsui:id/et_phone' and @text='请输入手机号码']").send_keys("123455")time.sleep(3)a = driver.find_element_by_xpath("//android.widget.CheckBox[@text='同意']")
获取 text方法有:
print(a.text)print(a.get_attribute("text"))
虽然有两种方法,但一般都用第一种,因为写法比较简单。知道有第二种方法就好了。
获取 resource-id值方法:
print(a.get_attribute("resourceId"))
获取 classname值方法:
print(a.get_attribute("className"))print(a.tag_name)
获取 content-desc值方法:
print(a.get_attribute("name"))
这里特别说明一下,当那个content-desc的值为空的时候,这个方法获取的是元素text的值,只有当content-desc不为空才返回对应的值。
获取 check值方法:
print(a.get_attribute("checked"))
元素里只要属性值是布尔型的,即 false or true。都可以通过这个方法来获取,就不一一列出了。这里的第二种方法经常用到,重点掌握!!
获取元素坐标:
print(a.size)print(a.location)
基本上就这些,定位到元素后,元素里的属性都是可以获取到的。
作者:
博客链接:https://www.cnblogs.com/lixy-88428977
声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。