Appium appium 1.7.1 不支持 findElementByName

jiap · 2017年11月06日 · 最后由 terrychow 回复于 2017年11月06日 · 1782 次阅读

eclipse 上报错:
org.openqa.selenium.InvalidSelectorException: Locator Strategy 'name' is not supported for this session (WARNING: The server did not provide any stacktrace information)

*** Element info: {Using=name, value=登陆}

/usr/local/lib/node_modules/appium/node_modules/.1.32.1@appium-android-driver/build/lib/driver.js 在该路径下下修改过

this.locatorStrategies = ['xpath', 'id', 'class name', 'accessibility id', '-android uiautomator','name'];但是不起作用 Mac 系统

共收到 3 条回复 时间 点赞

我怎么用 1.6.5 的时候也是不支持 byname 方法的呢?不过我是用的 windows。如果是 text 字段的内容,可以用 find_element_by_android_uiautomator 方法查找
driver.find_element_by_android_uiautomator("new UiSelector().text(\"登录\")");

用 uiautomator 遍历元素的方法,或者 findElementByAccessibilityId()

1.5 以后就不支持了,为了减少用例的维护,我这么改了,python 版:

def _find_by_name(self, browser, criteria, tag, constraints):
     criteria1="//*[@text='{0}']".format(criteria)
       return self._filter_elements(
           browser.find_elements_by_xpath(criteria1),tag, constraints

find_by_name 其实也是 xpath 的遍历,外国佬就是因为这样觉得 name 没什么用,才干掉的

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