#6 楼 @sunmoon9981 是的
继续招聘,成了一个要入职了,结果不来了。
#1 楼 @face_south 多谢支持
#8 楼 @vincent
确定是写成这样可以获取到了:
title = driver.find_element_by_id("com.dangdang.buy2:id/normal_title_name")
其中遇到个问题,现在想把它的内容打出来,写成 print title.text
这样会报错呢
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
查了一下是 Python 内部的编码问题,改成 print title.text.encode('utf8') 后可正常显示
#4 楼 @spikeshen 好的,这块儿完全没接触过,多谢
#2 楼 @532589730 您的意思是要这样写吗
find_element_by_name.getAttribute("normal_title_name")
这样写提示
AttributeError: 'function' object has no attribute 'getAttribute'
现要判断一个控件是否存在,是根据它的 len 来。
如果要判断是否进入了一个页面,是找这个页面上特有的控件在不在吗?还有其它方法没?
#4 楼 @spikeshen 啊,眼花了,看了几次也没看出问题来,改过来就成了,多谢。
textfields =driver.find_elements_by_tag_name("textfield")
if len(textfileds) >0:
后提示
NameError: name 'textfileds' is not defined
找不到这个控件
顶一下啊,我也遇到这问题了,求解决。
#13 楼 @spikeshen 是否是大部分最好用 xpath 来定位好一些,我看这个 APP 上全是图片或者文字,是 button 的很少。
#6 楼 @seveniruby 可否再详细一些呢?tab[1] 是指在 byname 时就指定 [1] 还是取到 by_name(tabs) 后再区分呢?谢谢。
奇怪,今天再试的时候错误提示变成了
Traceback (most recent call last):
File "D:\appiumtest.py", line 45, in <module>
imageviews = driver.find_elements_by_name(tabs)
NameError: name 'tabs' is not defined
[Finished in 48.5s with exit code 1]
换成 by_tag_name 的 TabWidget 和 ImageView 也都不行
但换成 by_tag_name(image)就能行,就是找到的图片太多,下标不好确定
#2 楼 @spikeshen 改为使用 tagname 还是不行
elem = driver.find_element_by_tag_name('TabWidget')
print elem
elem[0].click()
也是提示没找到
#1 楼 @seveniruby 已经修改,输出的 log 都加上了
谢谢各位的回答,找到原因了,是因为 ANDROID_HOME 这个变量没有配置对的问题,现在已经可正常运行了。多谢。
今天把所有环境都重新装了一次,群里有位同学提醒了一下,adb 需要设置全局变量,这些也完全设置完成后,再次运行,还是一样的错误,超时
#2 楼 @lihuazhang
把这一行注释后,又出现新的问题
源码
import os
import time
from selenium import webdriver
# Returns abs path relative to this file and not cwd
PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
)
desired_caps = {}
desired_caps['device'] = 'Android'
desired_caps['browserName'] = ''
desired_caps['version'] = '4.3'
#desired_caps['app'] = PATH('d:/ContactManager.apk')
desired_caps['app-package'] = 'com.example.android.contactmanager'
desired_caps['app-activity'] = '.ContactManager'
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
print driver.get_window_size()
elem = driver.find_element_by_name('Graphics')
elem.click()
elem = driver.find_element_by_name('Arcs')
elem.click()
driver.quit()
错误: