元素的属性我们经常会用到,当定位到某个元素后,有时会需要用到这个元素的
text值、className、resource-id、checked等。
一般标准的属性我们都可以通过get_attribute(“属性名称”)来获取,我们来看看下面截图的元素都是怎么获取的吧。从上到下来看。
![](https://i-blog.csdnimg.cn/blog_migrate/836d4ec90c50fe7f62b60061c2260202.png)
我们从text开始讲,我们先通过xpath方式定位到这个元素
# coding:utf-8 from appium import webdriver import time desired_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
声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。