51Testing软件测试论坛

标题: 怎么获取ul下所有li的class值,并存在一个数组里 [打印本页]

作者: mehll1213    时间: 2016-1-11 15:03
标题: 怎么获取ul下所有li的class值,并存在一个数组里
我想获取ul下,所有里的class值,并把这些class的值存在一个数组里,请问怎么做?我先定位到了ul: WebElement _all_menu = driver.findElement(By.id("_all_menu"));,但是接下来不知道怎么做了,最好详细说明具体实现,谢谢了!



作者: joykao    时间: 2016-1-11 16:02
ul下面不是有好多li么,你直接把所有的li找到就是找WebElements,然后遍历并且用getAttribute方法去取class属性啊
作者: 清晨一缕阳光    时间: 2016-1-11 17:13
如@joykao说的,可以使用findelements(By.id("_all_menu")),把得到的结果存到List 容器中,然后使用For循环(for-each)遍历,然后使用getAttribute获取class的值。
作者: mehll1213    时间: 2016-1-11 17:21
方法一:List<WebElement> webElements = driver.findElements(By.xpath("/html/body/div[2]/div[1]/ul/li"));
方法二:List<WebElement> webElements = driver.findElements(By.cssSelector("ul.nav li"));
获取到所以li,然后用定义一个数组,用webElements.get(i).getAttribute("class");将li的class值保持到数组里
作者: mehll1213    时间: 2016-1-11 17:22
清晨一缕阳光 发表于 2016-1-11 17:13
如@joykao说的,可以使用findelements(By.id("_all_menu")),把得到的结果存到List 容器中,然后使用For循环 ...

好的哦,问题解决了,谢谢
作者: mehll1213    时间: 2016-1-11 17:22
joykao 发表于 2016-1-11 16:02
ul下面不是有好多li么,你直接把所有的li找到就是找WebElements,然后遍历并且用getAttribute方法去取class ...

好的哦,问题解决了,谢谢
作者: 清晨一缕阳光    时间: 2016-1-11 17:28
mehll1213 发表于 2016-1-11 17:22
好的哦,问题解决了,谢谢






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2