Appium 关于获取 ui 元素的问题,求指导

luckysunshine · 2014年09月16日 · 最后由 恒温 回复于 2014年09月16日 · 2598 次阅读

1.

比如我想百度一个词,我觉着首先获取百度那个框,然后用 send_keys('') 方法,可是不知道如何获取。求大神指导?!!
试过 self.driver.find_element_by_xpath(),但是报错,我猜是因为 value 的值是空的。

2.driver.find_element_by_ios_uiautomation('.elements()[1].cells()[2]')
不明白里边的参数代表神马意思,求大神指导?!!

共收到 5 条回复 时间 点赞

可以先调用函数 find_elmens_by_class_name('UIATextField'),在获取列表中调 send_keys()

#1 楼 @kyotokyoking 不行,‘ UIATextField’ 这个是 type,不是 name 丫。还有木有别的方法?

2.driver.find_element_by_ios_uiautomation('.elements()[1].cells()[2]') 第二个问题是一个查询语句的拼凑。

_getElementsByUIAutomation: function (selectorCode, ctx) {
     if (!selectorCode) throw new Error('No code provided.');

     var code;
     if (selectorCode[0] !== '.') {
       code = selectorCode;
     } else if (ctx === null || typeof ctx === 'undefined') {
       code = '$.mainWindow()' + selectorCode;
     } else if (typeof ctx === 'string') {
       code = '$.getElement(\'' + ctx + '\')' + selectorCode;
     } else {
       code = 'ctx' + selectorCode;
     }

#2 楼 @luckysunshine 我使用的就是这种方法 是可以的

#4 楼 @kyotokyoking 我试了好多次,不行。
search = self.driver.find_elements_by_class_name('UIATextField')
print(len(search)) //打印了一下这个列表长度,打印结果为 0
search[0].send_keys('sauce labs')
这个肿么破??

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