如何在Appium中获取元素列表

时间:2015-12-08 12:09:46

标签: c# xpath appium

我正在使用appium和dot-net-driver。

我试图通过应用程序的所有活动来获取每个页面上的所有元素。

但我无法找到获取所有元素列表的正确方法。

我尝试使用c#正则表达式,但没有运气。

如果有人偶然发现了这个问题,可以提供帮助,我们将不胜感激!

我试图做的事情:

     public void getElementToFile()
    {
        //var elementsList = driver.FindElementsByXPath("//android.widget");
        var elementsList = driver.FindElementsByClassName("android.widget");
        foreach(var element in elementsList){
            WritingText(element.Text);
        }

    }

3 个答案:

答案 0 :(得分:1)

   var elementsList = driver.FindElementsByXPath("//*");
是的,我必须警告你不应该这样做,因为它根本不会有效。您需要使用特定的xpath和ID来进行任何自动化。这与您的语言或司机无关。

答案 1 :(得分:0)

有时候,当我按类名找到时,我也遇到了类似的问题。所以我使用xpath,它总是工作。以下是java中的代码片段

List<WebElement> allCheckBoxes=driver.findElementsByXPath("//*[@class='android.widget.CheckBox']");

    for (WebElement webElement : allCheckBoxes) {
        System.out.println(webElement.getText());
    }

答案 2 :(得分:0)

我能够使用以下行找到页面上的所有元素。

我猜测Regax的压缩点网络驱动程序支持是有限的。 @Shekhar Swami,谢谢,你的答案是一个指导!

使用Appium和dot-net-driver查找当前活动的所有元素:

            IList<AppiumWebElement> els6 = driver.FindElementsByXPath("//*");
相关问题