zoukankan      html  css  js  c++  java
  • appium-python自动化之get_attribute笔记(摘)

    原文转自:https://www.cnblogs.com/yoyoketang/p/7942745.html

    参考链接:https://blog.csdn.net/u012111923/article/details/80824189

    获取text

    # coding:utf-8
    from appium import webdriver
    from time import sleep
    
    desired_caps = {
                    'platformName': 'Android',
                    'deviceName': '127.0.0.1:62001',
                    'platformVersion': '4.4.2',
                    'appPackage': 'com.baidu.yuedu',
                    'appActivity': 'com.baidu.yuedu.splash.SplashActivity',
                    'noReset': 'true',
                    'resetKeyboard': 'true',
                    'unicodeKeyboard': 'true'
                    }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    
    # 等主页面activity出现
    driver.wait_activity(".base.ui.MainActivity", 10)
    
    # 点取消升级
    driver.find_element_by_id("com.baidu.yuedu:id/negativeUpgrade").click()
    
    # 获取text
    t1 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").text
    print(t1)

    tag_name

    1.tag_name实质上是获取class属性

    # 获取tag_name
    t2 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").tag_name
    print(t2)
    

    2.打印结果:android.widget.TextView

    get_attribute

    1.获取content-desc属性,这里注意了,如果content-desc属性为空,那么获取的就是text属性,不为空获取的才是content-desc属性

    2.content-desc属性为空,打印结果:书架

    # content-desc为空,获取的是text
    t3 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("name")
    print(t3)

    3.content-desc属性不为空,打印结果:百度阅读

    # content-desc
    t4 = driver.find_element_by_id("com.baidu.yuedu:id/fragment_banner").get_attribute("name")
    print t4
    

    备注:content-desc属性也可以这样获取:get_attribute("contentDescription")

    4.id,calss,text属性获取

    # id
    t5 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("resourceId")
    print(t5)
    
    # class
    t6 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("className")
    print(t6)
    
    # text
    t7 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("text")
    print(t7)

    5.其它属性获取,注意这里并不是所有的都可以获取,一些标准的属性是可以获取到的

    # checkable
    t8 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("checkable")
    print t8
    
    # clickable
    t9 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("clickable")
    print t9
    

    size和location

    1.获取size,返回的是字典,如:{'width': 84, 'height': 84}

    2.获取location,返回的是字典,如:{'y': 38, 'x': 192}

    # size
    t10 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").size
    print t10
    
    # location
    t11 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").location
    print t11
    

    参考代码

    # coding:utf-8
    from appium import webdriver
    
    desired_caps = {
                    'platformName': 'Android',
                    'deviceName': '127.0.0.1:62001',
                    'platformVersion': '4.4.2',
                    'appPackage': 'com.baidu.yuedu',
                    'appActivity': 'com.baidu.yuedu.splash.SplashActivity',
                    'noReset': 'true',
                    'resetKeyboard': 'true',
                    'unicodeKeyboard': 'true'
                    }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    
    # 等主页面activity出现
    driver.wait_activity(".base.ui.MainActivity", 10)
    
    # 点取消升级
    driver.find_element_by_id("com.baidu.yuedu:id/negativeUpgrade").click()
    
    # 获取text
    t1 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").text
    print(t1)
    
    # 获取tag_name
    t2 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").tag_name
    print(t2)
    
    # content-desc为空,获取的是text
    t3 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("name")
    print(t3)
    
    # content-desc
    t4 = driver.find_element_by_id("com.baidu.yuedu:id/fragment_banner").get_attribute("name")
    print t4
    
    # id
    t5 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("resourceId")
    print(t5)
    
    # class
    t6 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("className")
    print(t6)
    
    # text
    t7 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("text")
    print(t7)
    
    # checkable
    t8 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("checkable")
    print t8
    
    # clickable
    t9 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").get_attribute("clickable")
    print t9
    
    # size
    t10 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").size
    print t10
    
    # location
    t11 = driver.find_element_by_id("com.baidu.yuedu:id/lefttitle").location
    print t11



  • 相关阅读:
    (转载)微软数据挖掘算法应用场景介绍
    (转载)微软数据挖掘算法:Microsoft 目录篇
    (转载)微软数据挖掘算法:Microsoft 线性回归分析算法(11)
    (转载)微软数据挖掘算法:Microsoft 神经网络分析算法(10)
    js分页
    预下载图片,避免图片闪烁
    http协议
    解决&#65279产生的空白行
    兼容ie浏览器的方法
    网站加载速度慢的原因
  • 原文地址:https://www.cnblogs.com/konkon/p/10011955.html
Copyright © 2011-2022 走看看