【发布时间】:2015-07-06 10:10:01
【问题描述】:
我正在尝试操纵这些代码块:
List<WebElement> more = driver.findElements(By.xpath("/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[2]/div/div[4]/button"));
if(more.size()!=0){
driver.findElement(By.xpath("/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[2]/div/div[4]/button")).click();
}else {
WebElement present = driver.findElement(By.xpath("/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[2]/div/div[3]/div/table/tbody"));
List<WebElement> list = present.findElements(By.xpath("/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[2]/div/div[3]/div/table/tbody/tr"));
System.out.println("Total Number of TR: " + list.size());
}
我希望做的是,在执行 IF 语句中的内容之前,我想在每次看到元素 /html/body/div[1]/div/div[ 3]/div/div/div[1]/div/div[2]/div[2]/div/div[4]/button 会被点击,如果不可用然后我会执行这个:
WebElement present = driver.findElement(By.xpath("/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[2]/div/div[3]/div/table/tbody"));
List<WebElement> list = present.findElements(By.xpath("/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[2]/div/div[3]/div/table/tbody/tr"));
System.out.println("Total Number of TR: " + list.size());
有关更多信息,我想在这里做的是。
我在一个特定模块的列表视图上,然后在按钮上有一个“单击此处获取更多记录”->它的 XPath 是 /html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[2]/div/div[4]/button
我希望如果我在列表视图中并且如上所述存在该按钮 - 我想单击它。如果在列表视图中没有“点击这里查看更多记录”按钮(例如记录仅由5条记录组成,因此没有明显的分页)我想执行一段代码。
【问题讨论】:
-
我不确定我是否正确理解了你的问题,这就是为什么我没有写这个作为答案。但也许您可以编写
if(more.size()==0){,后跟您当前在else块中的代码。然后有一个for循环,类似于for(WebElement element : more){ element.click(); }。这就是你要找的东西吗? -
我在这里想要实现的是:只要这个元素存在 - bold**/html/body/div[1]/div/div[3]/div/div /div[1]/div/div[2]/div[2]/div/div[4]/buttonbold** 我想点击它,如果没有这样的元素我想执行此语句:
-
this : WebElement present = driver.findElement(By.xpath("/html/body/div[1]/div/div[3]/div/div/div[1]/div/ div[2]/div[2]/div/div[3]/div/table/tbody")); List
list = present.findElements(By.xpath("/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[ 2]/div/div[3]/div/table/tbody/tr")); System.out.println("TR总数:" + list.size()); -
所以你不是想捕捉有几个这样的元素的情况吗?好的,我当然误解了。那么循环从何而来?