【问题标题】:Get Parent element from child element in appium从appium中的子元素获取父元素
【发布时间】:2016-05-11 04:45:54
【问题描述】:

我有一个回收者的观点。所有行都有相同的 id。每行都有复选框和文本,这些元素也有相同的 id。但有些行没有复选​​框。

所以我要做的是通过 id 定位复选框,然后获取其父节点并定位其子节点。

MobileElement childElement= driver.findElement(By.id("checkbox-child"));
MobileElement parentElement= // need to know how to do it 

parentElement.findElement(By.id("text-child")).getText();

所以我想知道如何从子元素中获取父元素。

【问题讨论】:

    标签: appium


    【解决方案1】:

    我能想到的解决这个问题的一种方法是:

    List<WebElement> listParent = driver.findElements(By.id("parentID")); //Requires parent's resource-id.
    for(int i=0;i<listParent.size();i++){
        String parentXPath = "//android.widget.RelativeLayout["+i+"]"
        String childXPath = parentXPath + "//android.widget.Checkbox"; //should get you the child corresponding to the specific Relative Layout
        MobileElement parentElement= driver.findElement(By.XPath(parentXPath); 
        if(isElementPresent(By.XPath(childXPath))){
           parentElement.findElement(By.id("text-child")).getText();
        }
    

    我也想试试这个。

    【讨论】:

    • 感谢您的建议。不幸的是,上面的代码不起作用。但我想如果我对你的想法付出更多的努力,我可以解决它:) 干杯!
    猜你喜欢
    • 2019-02-19
    • 2013-08-28
    • 2016-03-19
    • 1970-01-01
    • 2016-01-19
    • 2019-11-18
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多