作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
页面上有表格,我确实需要逐行检索信息。这是由 for-each 处理的。在同一页面上执行检索信息工作正常。
但是,我们可以处理特定 Row 的详细信息页面吗?这里“测试 1”有自己的详细信息页面。有一些操作需要在详情页处理。我们如何管理它并回到实际执行。
到目前为止,我正在处理 for-each 循环,并得到 StaleElementReferenceException 这是正确的,因为 webElement 丢失了其实际的 ListElement<WebElement>
List<WebElement> findList = driver.findElements(By.xpath("//a[@class='*****']));
for (WebElement webElement : findList) {
...
//detail page is access by clicking webElement
webElement.click();
findList = driver.findElements(By.xpath("//a[@class='*****']));
}
如果有什么办法,请指教。谢谢。
最佳答案
你可以这样做:
List<WebElement> findList = driver.findElements(By.xpath("//a[@class='*****']));
for(int i = 1 ; i<=findList.size() ; i++){
driver.findElement(By.xpath("(//a[@class='***'])[" + i + "]")).click();
// extract some data from next page which is invoked by clicking on Test1 hyperlink.
}
每次查找 //a[@class='***'][i]
网页元素 i 时都是这样,从 1 开始一直到终点。
P.S : 您需要在 devtool //a[@class='***'][1]
中检查它是否表示 Test1 超链接或不是。
希望这有帮助。
关于selenium - 执行foreach循环时可以遍历另一个页面吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52014967/
我是一名优秀的程序员,十分优秀!