Appium 如何使用xpath返回页面上所有元素的列表

Appium 如何使用xpath返回页面上所有元素的列表,appium,Appium,这行代码可以吗 List<WebElement> els = user.mDriver.findElements(By.xpath("//*")) List els=user.mDriver.findElements(By.xpath(“//*”) 是否用页面上的所有元素填充列表 /*语法正确吗?这里有一些示例,但建议您不要使用这种设计,尝试使用较小范围的元素,而不是完整的页面 List<WebElement> listElements = driver.findEl

这行代码可以吗

List<WebElement> els = user.mDriver.findElements(By.xpath("//*"))
List els=user.mDriver.findElements(By.xpath(“//*”)
是否用页面上的所有元素填充列表


/*
语法正确吗?

这里有一些示例,但建议您不要使用这种设计,尝试使用较小范围的元素,而不是完整的页面

List<WebElement> listElements = driver.findElements(By.cssSelector("*"));

List<WebElement> listElements = driver.findElements(By.xpath("*"))

List<WebElement> listElements = driver.findElements(By.tagName("html"))
List listElements=driver.findElements(By.cssSelector(“*”);
List listElements=driver.findElements(By.xpath(“*”))
List listElements=driver.findElements(按.tagName(“html”))

希望这有帮助,

Yes xpath//*将返回网页的所有元素。 //表示相对xpath,*表示匹配任何节点 但是,如上所述,使用较低的范围可以看到元素。 尝试打印返回的webelements的大小/计数或打印少数元素的文本

 List<WebElement> els = user.mDriver.findElements(By.xpath("//*"))
 syso(user.mDriver.findElements(By.xpath("//*")).size());
 for (int i=0;i<20;i++)
  els.get(i).getText();
List els=user.mDriver.findElements(By.xpath(“//*”)
syso(user.mDriver.findElements(By.xpath(“/*”).size());

对于(inti=0;i如果您使用的是ruby,那么可以调用ruby块来循环所有共享类似xpath或id的元素

`$driver.find_elements(xpath: 'xpathname').each do |xpath|
   puts xpath.text
   puts xpath.id
   puts xpath.value
   puts xpath.checked?
end`