我使用的是appium和.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);
}
}发布于 2015-12-09 17:01:55
var elementsList = driver.FindElementsByXPath("//*");顺便说一句,我必须警告你,你不应该这样做,因为这根本不会有效率。对于任何自动化操作,都需要使用特定的xpath和ID。这与您的语言或驱动程序无关。
发布于 2015-12-09 15:19:31
有时,当我通过类名查找时,也会遇到类似的问题。所以我使用了xpath,它总是有效的。下面是java中的代码片段。
List<MobileElement> allCheckBoxes=driver.findElementsByXPath("//*[@class='android.widget.CheckBox']");
for (MobileElement mobileElement : allCheckBoxes) {
System.out.println(mobileElement.getText());
}发布于 2015-12-09 16:44:31
我能够使用下面这行代码找到页面上的所有元素。
我猜Regax表达式对.net-driver的支持是有限的。@Shekhar Swami,谢谢,你的回答是一个指南!
使用Appium和dot-net-driver查找当前活动的所有元素:
IList<AppiumWebElement> els6 = driver.FindElementsByXPath("//*");https://stackoverflow.com/questions/34155524
复制相似问题