Appium ios 的 UILabel 控件获取属性值后,提示报错,请大神帮忙查看

云飞凌风 · 2014年08月22日 · 2197 次阅读

目前我试了好几种方法,都行不通
比如这个属性是 UILabel 并且我在设置中给它设为 5
sums = self.drive.find_element_by_name("sums")
下面打印的值都不行
print sums 打印出来是:[ ]
print sums[0] 打印出来超出边界
print sums[0].text 同样式超出边界
print sums.text 提示没有 text 属性
如图:

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 25 条回复 时间 点赞

贴代码,别贴图, label 的值就是它的 name

#1 楼 @lihuazhang
是要这样写吗?其中 sums 就是一个 label 的 name 啊,通过 sums 来查找该标签的。这个标签有一个值是 5,怎么获取,麻烦详细点,谢谢。
sums[0].name 还是 sums.name

匿名 #3 · 2014年08月25日

楼主是想表达怎么获取一个 label 属性值是 sums 的元素的 value 值?

#3 楼 @link1220 是的,这个 label 的 name 是 sums,想要获取它的值。

匿名 #5 · 2014年08月25日

#4 楼 @wangcityboy 换个方法试试,我们这边用的 page_source,然后再解析

我只需要获取它的值,其他的都不需要。静态文本,如图:我想要获取这个静态文本数:5

有谁知道啊,这个问题怎么解决呢,花了好多时间,取出来的值是 sums,而不是 5

#7 楼 @wangcityboy WebElement texts = driver.findElement(By.className("UIAStaticText"));

匿名 #9 · 2014年08月25日

刚刚看文档突然又想到你这个问题,然后动手验证了一下,如下:
test1 = self.driver.find_element_by_name('username').get_attribute('value')
print test1

测试对象如下:

运行结果如下:
打印获取到的信息:
link1220

.

#9 楼 @link1220 type 类型为 UIAStaticText,不一样,我的这个是要求取出 5 这个值,但是属性中没有显示这个值

匿名 #11 · 2014年08月25日

#10 楼 @wangcityboy 那你再试试看 7 楼的方法看看哈 我是新手,还在看文档学习 ing。。。

#8 楼 @lihuazhang

File "simple.py", line 58
WebElement tests = driver.findElement(By.className("UIAStaticText"));
^
IndentationError: unexpected indent
还是报错呢。。

#12 楼 @wangcityboy 哥哥,我是 java 的代码。你是 python 的代码。

#12 楼 @wangcityboy sum = self.driver.find_element_by_class_name("UIAStaticText").text

#14 楼 @lihuazhang 报错如下:
Traceback (most recent call last):
File "simple.py", line 48, in test_ui_computation
sum = self.driver.find_elements_by_class_name('UIAStaticText').text
AttributeError: 'list' object has no attribute 'text'

#15 楼 @wangcityboy 基本 python 语法不会啊。

#16 楼 @lihuazhang 这不是我基本语法会不会的问题啊,我试过好多种方式都取不出来。关键是你给的方法也不行啊。

#17 楼 @wangcityboy 你的报错信息,你看不懂么? 我给你的方法是什么,你也看看清楚啊。而且我自己试验过,是能取出值来的。 官方也有这个示例代码。

#18 楼 @lihuazhang 那你把代码贴出来不就行了吗?你的代码中有 text 属性,到我这,它提示说没有这个属性。

#19 楼 @wangcityboy 你为啥不看为什么没有?

匿名 #20 · 2014年08月26日

莫激动。。楼主是不是多写了个 s?find_element_by_class_name

#17 楼 @wangcityboy 你学习一个东西要先学习基础,你 python 真的有学过么?这个错误看得懂么?AttributeError: 'list' object has no attribute 'text' 。如果看得懂自己就能够解决了。代码贴出来也不代表你直接能用啊?明白么?

#22 楼 @monkey 那个问题我多写了一个 s,问题解决了,python 是第一次用,以前只是用 java,C++ 和 OC,不过这种方法用 class 的话,只能对界面中的一个 statictext 取值,如果界面中有多个 statictext 呢?

#23 楼 @wangcityboy 你以前用过 java,c++ 和 oc,你这个用过是什么意思?是看过,写过几行么?另外,我没有明白你说用 class 的话只能获取一个。你明白获取这个元素的机制么?如果你明白了机制,那么获取一个和获取多个是一样的

element 获取一个元素,elements 获取的是一个列表(或许叫做数组),列表才有 a[0] 的属性

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册