我使用的是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 < 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);
}
});
你对我做错了什么有任何建议吗?
答案 0 :(得分:0)
使用索引点击xpath
,例如
browser.findElement(by.xpath("//a[@title='Run Test Suite'][i]")).click();
请注意,我使用findElement
而没有最后s
,因为我只想找到一个。
如果以这种方式使用索引不起作用,那么你需要找到一个共同的父,这个索引将适用于同一级别的元素。