如何解决StaleElementReferenceError:在JavaScript的缓存中找不到元素?
我正在使用Selenium 2.53.1。我正在尝试选择几个具有相同xpath的元素,但我不断得到一个陈旧的元素引用错误。我在其他帖子中读到,添加等待将起作用,但我仍然得到这个错误如何解决StaleElementReferenceError:在JavaScript的缓存中找不到元素?,javascript,selenium,Javascript,Selenium,我正在使用Selenium 2.53.1。我正在尝试选择几个具有相同xpath的元素,但我不断得到一个陈旧的元素引用错误。我在其他帖子中读到,添加等待将起作用,但我仍然得到这个错误 browser.findElements(by.xpath("//a[@title='Run Test Suite']")).then(function(all_tests){ // console.log(all_tests.length); for (var i = 0; i <
browser.findElements(by.xpath("//a[@title='Run Test Suite']")).then(function(all_tests){
// console.log(all_tests.length);
for (var i = 0; i < all_tests.length; i++) {
console.log(all_tests.length);
all_tests[i].click();
// browser.manage().timeouts().implicitlyWait(300000);
browser.findElements(by.xpath("//a[@title='Run Test Suite']"));
console.log("got to my wait");
browser.manage().timeouts().implicitlyWait(10000);
}
});
browser.findelelements(by.xpath(“//a[@title='runtestsuite']”)。然后(函数(所有测试){
//控制台日志(所有测试长度);
对于(变量i=0;i
你对我做错了什么有什么建议吗?使用索引点击
xpath
,如browser.findElement(by.xpath(“//a[@title='runtestsuite']][i]”)。单击()代码>
请注意,我使用了findElement
,没有最后一个s
,因为我只想找到一个
如果以这种方式使用索引不起作用,那么您需要找到一个公共父级,此索引将适用于同一级别的元素。我建议您花一些时间了解什么是过时的元素引用。这对于学习如何解决问题至关重要。可能会重复