我具有相同的类<a class="row-title">
属性,最多21个Web元素。
我可以使用get text方法获取所有21个元素,但我想执行这样的操作。
driver.findElement(By.xpath(".//*[@id='menu-posts-presentation']/a/div[3]"));
<a class="row-title">
的第一名driver.findElement(By.xpath(".//*[@id='publish']")).click();
所以我想将其最多迭代21个类名。
Test(priority = 2)
public void myfsk1(){
driver.findElement(By.xpath(".//*[@id='menu-posts-presentation']/a/div[3]")).click();
List<WebElement> elements = driver.findElements(By.className("row-title"));
System.out.println(elements.size());
for (int i=1;i<=elements.size()-1;i++)
{
System.out.println(elements.get(i).getText());
Reporter.log(elements.get(i).getText());
}
答案 0 :(得分:0)
请不要忘记添加一些断言来检查它是否真的被单击,现在此测试仅单击一些链接,但不检查任何内容。 另外,您还必须添加预期条件,以避免单击未加载的元素。
Test(priority = 2)
public void myfsk1 () {
List<WebElement> elements = driver.findElements(By.className("row-title"));
int listSize = elements.size();
System.out.println(listSize);
WebElement innerElement;
for (int i = 1; i < listSize; i++) {
driver.findElement(By.id("menu-posts-presentation"))
.findElement(By.xpath("./a/div[3]"))
.click();
// Search again due to page refresh
elements = driver.findElements(By.className("row-title"));
innerElement = elements.get(i);
System.out.println(innerElement.getText());
Reporter.log(innerElement.getText());
innerElement.click()
driver.findElement(By.id("publish").click;
}
}