OutOfBoundsException - 为什么?

时间:2015-06-17 09:52:13

标签: java selenium-webdriver

我已经在论坛上阅读了有关OutofBoundException错误的信息,但不幸的是,我仍然没有明白我的问题。

$inputNumber = intval($_POST[inputNumber"]);
for($i = $inputNumber ; $i >=1 ; $i--){
  if($i % 2 == 1){
    echo $i." ";
  }
}

以上是代码,但在执行时我得到了:

 $(".show-more, .show-more-section").on('click', function (event) {
   event.preventDefault();
   $(this).next().slideToggle("fast", function () {});
   if($(this).is('.show-more'))
   {
    $(this).toggleClass("show-more-rotate");       
   }else
   {
    $(this).toggleClass("show-more-section-rotate");
   }
});

不知道,所以任何帮助都会受到赞赏。对于Java和Selenium而言还是比较新的

2 个答案:

答案 0 :(得分:0)

问题是当您获取allElements列表时:

List<WebElement> allOptions = driver.findElements(By.name("fromPort"));

您只在此请求中获得一个元素

  

java.lang.IndexOutOfBoundsException:Index:1,Size:1

i = 1时:

String optionValue = allOptions.get(i).getAttribute("value");

IOBException发生......

检查您的请求或for条件以检查两个列表:

for (int i = 0  ; i < (expected.length) && i < allOptions.size(); i++) {

答案 1 :(得分:0)

检查用作列表索引的循环计数器与另一个列表的大小进行比较是不明智的。它完全容易出错。