Appium+java找不到元素报错 不同于web版本的selenium 解决办法
Appium+java找不到元素报错 不同于web版本的selenium 解决方法
=
web版本的selenium,找不到元素,返回null(之前弄错了,又run了下程序,也是报错的。)。
我觉得这是非常合理的,可以让开发者自己判断如何处理。这种情况尤其用在很多不同组合,需要通过null来判断是哪种元素类型 element type。
但是到了Appium,找不到元素就报错。我晕。
难道让我catch来处理么?这样导致大量很不雅的代码。
查了下源码,故意这样处理的么,,,鸟。。。
=
解决方法:
如果这个元素,希望找不到时不报错,返回null即可,可以封装一下代码。
简单处理了,封装个代理是不是用牛刀了!
public static WebElement findElement(WebElement driver, By by){ return find(driver, by); } public static WebElement find(WebElement driver, By by){ WebElement webElement = null; try { webElement = driver.findElement(by); } catch (Exception e){ //sth } return webElement; }
=
=
=