Appium + python - get_attribute获取value操作
from appium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from time import sleep
descred_caps = {
"platformName":"Android",
"platformVersion":"5.1.1",
"deviceName":"127.0.0.1:62001",
"appPackage":"com.baidu.yuedu",
"appActivity":"com.baidu.yuedu.splash.SplashActivity",
"automationName":"uiautomator2",
"noRset":"true",
"unicodeKeyboard":"true",
"resetKeyboard":"true"
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",descred_caps) #获取当前的avtivity
print(driver.current_activity) #弹出个性化定制 -- 点击热门图书
# 等主页面activity出现
driver.wait_activity(".usercenter.view.activity.UserInterestSetActivity",10)
driver.wait_activity(".splash.SplashActivity",20)
# sleep(20)
try:
#-- 点击文学艺术
driver.find_element_by_id("com.baidu.yuedu:id/check_box_6").click() #男生爱读
sleep(5)
driver.tap([(132,833),(288,868)],500)
sleep(4)
driver.tap([(500,833),(657,868)],500) #点击选好了
driver.find_element_by_id("com.baidu.yuedu:id/tv_next").click() #点击简约白
driver.find_element_by_id("com.baidu.yuedu:id/rbtn_theme_white").click()
driver.find_element_by_id("com.baidu.yuedu:id/cb_choose_view").click()
#点击立即开启
driver.find_element_by_id("com.baidu.yuedu:id/tv_open").click() #点击知道了
driver.find_element_by_id("com.baidu.yuedu:id/positive").click() # 获取当前的avtivity
print(driver.current_activity)
print(driver.contexts) driver.back() #点返回
# 定位toast元素
toast_loc = ("xpath", ".//*[contains(@text,'再按一次退出')]")
t = WebDriverWait(driver, 10, 0.1).until(EC.presence_of_element_located(toast_loc))
print(t) #点击图书
driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").click() # 获取text
print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").text) #获取tag_name
print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").tag_name) # content-desc为空,获取的是text
print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").get_attribute("name")) #text
print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").get_attribute("text")) #bounds
print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").get_attribute("bounds")) #size
print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").size) #location
print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").location) except Exception:
print("出错啦")
# driver.quit()
Appium + python - get_attribute获取value操作的更多相关文章
- Appium + python - swipe滑屏操作实例
方法一: from appium import webdriverfrom time import sleep descred_caps = { "platformName":&q ...
- Appium+Python之获取toast
思考:手机APP上的必填或错误文本提示一般1-2s就会消失,比较难定位,所以一般的固定元素定位方式是不可用的,那我们如何定位toast呢? 前提:1.Appium1.6.3以上(包括1.6.3) 2. ...
- Appium+python自动化获取toast消息的方法
转载地址:https://www.cnblogs.com/shangren/p/8191879.html 1. 首先执行这个命令:npm install -g cnpm --registry=http ...
- Appium+python自动化获取toast消息(windows版)的方法
原来用的Appium1.5.3GUI版本,那为什么升级呢? 为了兼容最新版本的iOS10和Android7 Xcode8升级后,将不支持使用UIAutomation,而是改为使用XCUITest了,并 ...
- Appium + python - weixin公众号操作
from appium import webdriverfrom time import sleep desired_caps = { "platformName":"A ...
- Appium + python - automator定位升级版操作
# coding:utf-8 """参考博客链接:https://www.cnblogs.com/yoyoketang/p/7843819.html"" ...
- appium+Python 启动app(一)
当我们appium和Python环境都配置好了,如何启动我们第一个app呢?下面介绍appium+Python启动app的操作步骤,为了能够详细查看,我们这里使用夜游神模拟器进行示范. 测试项目:QQ ...
- appium+python自动化:获取元素属性get_attribute
使用get_attribute()获取元素属性,括号里应该填写什么? 查看appium源码 如果是获取resource-id,填写resourceId self.driver.find_element ...
- appium+python自动化34-获取元素属性get_attribute
获取text # coding:utf-8 from appium import webdriver from time import sleep desired_caps = { 'platform ...
随机推荐
- Spring Boot项目中使用 TrueLicense 生成和验证License(服务器许可)
一 简介 License,即版权许可证,一般用于收费软件给付费用户提供的访问许可证明.根据应用部署位置的不同,一般可以分为以下两种情况讨论: 应用部署在开发者自己的云服务器上.这种情况下用户通过账号登 ...
- Django - 创建多对多及增加示例
创建多对多: 方式一: 自定义关系表 备注:自定义表Host.Application,通过自定义表,将表Host和Application进行关联(通过外键方式工): 执行语句:python manag ...
- Web 常用
System.Web.Hosting.HostingEnvironment.MapPath(); HttpUtility.UrlEncode();
- (C/C++学习)9.C/C++优化排序
说明:在C/C++中常见的排序方法有两种,第一种为选择排序法,第二种为冒泡排序法,本文将对这两种排序法进行优化,并给出一种更为快捷的排序法. 一.未优化的排序法 现在假如要对一个数组进行排序,假设这个 ...
- 思维风暴 codeforces (1060A) Phone Numbers
这个题我真是我的问题,我看到这种题直接就想着怎么用string去枚举破解,开了一个数组去做结果模拟失败,可能开个stl容器能做的好一点...但是这个题完全不是这样做的...实际上直接比较8的个数和合法 ...
- BZOJ 1232 USACO 2008 Nov. 安慰奶牛Cheer
[题解] 对于每一条边,我们通过它需要花费的代价是边权的两倍加上这条边两个端点的点权. 我们把每条边的边权设为上述的值,然后跑一边最小生成树,再把答案加上最小的点权就好了. #include<c ...
- springcloud(三):Eureka服务端
一. 因为使用一个注册中心服务器端,n个客户端:n个生产者客户端.n消费者客户端....,所有的客户端最好的方式就是通过对象传递参数,因此需要创建一个公共组件项目,为n个客户端传值提供方便 二.创建公 ...
- 【POJ 1981】Circle and Points(已知圆上两点求圆心坐标)
[题目链接]:http://poj.org/problem?id=1981 [题意] 给你n个点(n<=300); 然后给你一个半径R: 让你在平面上找一个半径为R的圆; 这里R=1 使得这个圆 ...
- Codeforces Problem 778B Bitwise Formula
题目链接:http://codeforces.com/contest/779/problem/E 题意:有n个变量都可以用m位二进制数表示,这n个数的value将以两种格式中的一种给出 1.变量名, ...
- 《高性能MySQL》笔记-BLOB与TEXT
BLOB和TEXT都是为存储很大的数据而设计的字符串数据类型,分别采用二进制和字符方式存储. 实际上,它们分别属于两组不同的数据类型家族: 字符类型是TINYTEXT,SMALLTEXT,TEXT,M ...