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;
    }

=

=

=

相关推荐