当我检查无线电选择然后单击提交,casue StaleElementReferenceException:在缓存中找不到元素

时间:2016-04-22 19:36:47

标签: selenium-webdriver

第1步:" https://slashdot.org/" 步骤2:在" Slashdot Poll"下选择一个单选按钮。 第3步:尝试提交投票表决 我使用以下代码:

public void randomVote(){
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://slashdot.org/");
List<WebElement> RadioGroup = driver.findElements((By) By.name("aid"));

for (int i = 0; i < RadioGroup.size(); i++) {

RadioGroup.get(i).isSelected();  

driver.findElement((By) By.className("btn-polls")).submit();
System.out.println("NUM:" + i + "/" + RadioGroup.get(0).isSelected());
    }

  }

}

但我收到以下错误: AILED:randomVote org.openqa.selenium.StaleElementReferenceException:在缓存中找不到元素 - 也许页面自查找以来已更改 命令持续时间或超时:10.26秒 有关此错误的文档,请访问:http://seleniumhq.org/exceptions/stale_element_reference.html 构建信息:版本:&#39; 2.53.0&#39;,修订版:&#39; 35ae25b&#39;,时间:&#39; 2016-03-15 16:57:40&#39;

1 个答案:

答案 0 :(得分:0)

嗨,请按以下方式进行操作

{{1}}

请注意之前的代码工作正常,但您正在使用的Web应用程序(进行投票)投票增量只适用于前3个选项,即使您执行此操作,其余投票增量也无效手动

希望这可以帮助你