目前我试了好几种方法,都行不通
比如这个属性是 UILabel 并且我在设置中给它设为 5
sums = self.drive.find_element_by_name("sums")
下面打印的值都不行
print sums 打印出来是:[ ]
print sums[0] 打印出来超出边界
print sums[0].text 同样式超出边界
print sums.text 提示没有 text 属性
如图:
贴代码,别贴图, label 的值就是它的 name
#1 楼 @lihuazhang
是要这样写吗?其中 sums 就是一个 label 的 name 啊,通过 sums 来查找该标签的。这个标签有一个值是 5,怎么获取,麻烦详细点,谢谢。
sums[0].name 还是 sums.name
楼主是想表达怎么获取一个 label 属性值是 sums 的元素的 value 值?
#4 楼 @wangcityboy 换个方法试试,我们这边用的 page_source,然后再解析
我只需要获取它的值,其他的都不需要。静态文本,如图:我想要获取这个静态文本数:5
有谁知道啊,这个问题怎么解决呢,花了好多时间,取出来的值是 sums,而不是 5
#7 楼 @wangcityboy WebElement texts = driver.findElement(By.className("UIAStaticText"));
刚刚看文档突然又想到你这个问题,然后动手验证了一下,如下:
test1 = self.driver.find_element_by_name('username').get_attribute('value')
print test1
测试对象如下:
运行结果如下:
打印获取到的信息:
link1220
#10 楼 @wangcityboy 那你再试试看 7 楼的方法看看哈 我是新手,还在看文档学习 ing。。。
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 你为啥不看为什么没有?
莫激动。。楼主是不是多写了个 s?find_element_by_class_name
#17 楼 @wangcityboy 你学习一个东西要先学习基础,你 python 真的有学过么?这个错误看得懂么?AttributeError: 'list' object has no attribute 'text' 。如果看得懂自己就能够解决了。代码贴出来也不代表你直接能用啊?明白么?
#23 楼 @wangcityboy 你以前用过 java,c++ 和 oc,你这个用过是什么意思?是看过,写过几行么?另外,我没有明白你说用 class 的话只能获取一个。你明白获取这个元素的机制么?如果你明白了机制,那么获取一个和获取多个是一样的
element 获取一个元素,elements 获取的是一个列表(或许叫做数组),列表才有 a[0] 的属性