Appium-无法获得子元素

时间:2019-07-09 04:47:31

标签: selenium appium appium-android

先决条件: PL:Java Java客户端7.0.0 Appium服务器版本:1.13.0 设备三星Galaxy S Android 9.0版

大家好,

从一天开始,我一直在尝试在下面的屏幕快照中的电子邮件字段中获取错误文本字段,但是我无法获取此消息。

enter image description here

我已经尝试了以下方法:

1. actual_textInputError = driver.findElementByXPath("//android.widget.LinearLayout//android.widget.RelativeLayout//android.widget.RelativeLayout//android.widget.LinearLayout//android.widget.FrameLayout//android.widget.LinearLayout//android.widget.FrameLayout//android.widget.TextView").getText();

2.         List<MobileElement> elements = driver.findElements(By.id("textinput_error"));
        for (MobileElement element : elements) {
            actual_textInputError = element.getText();



3.          actual_textInputError = email_Field.findElementByClassName("android.widget.TextView").getText();
        // List <MobileElement> rel_Layouts = driver.findElementsByXPath("*//android.widget.RelativeLayout");

4.  MobileElement layout = (MobileElement)driver.findElementByXPath("//android.widget.RelativeLayout[contains(@resource-id, 'emailInput')]");
        List <MobileElement> errors = driver.findElementsById("textinput_error");
        actual_textInputError = errors.get(0).getText();
        actual_textInputError = errors.get(1).getText();
        actual_textInputError = errors.get(2).getText();
        // MobileElement email_error_field = layout.findElementByXPath("//android.widget.RelativeLayout[contains(@resource-id, 'textinput_error'");
        // actual_textInputError = email_error_field.getText();
/*        for (int i = 0; i<errors.size();i++ ) {
            actual_textInputError = errors.get(0).getText();
        }*/
/*        for (MobileElement rel_Layout : rel_Layouts) {
            actual_textInputError = element.getText();
            System.out.println("error text = " + actual_textInputError);
        }*/
        // actual_textInputError = driver.findElementsByXPath("//android.widget.RelativeLayout//android.widget.TextView").get(0);
        // errorMessage_Text
        //actual_textInputError = errorMessage_Text.getText();

可能有人将Xpath发送给我进行搜索。

非常感谢

1 个答案:

答案 0 :(得分:2)

请使用下面的XPath。

//android.widget.TextView[@text='E-mail address is already in use']