gpt4 book ai didi

selenium - 执行foreach循环时可以遍历另一个页面吗?

转载 作者:行者123 更新时间:2023-12-02 21:47:08 24 4
gpt4 key购买 nike

页面上有表格,我确实需要逐行检索信息。这是由 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com