Java 我甚至可以使用列表<;WebElement>;在Selenium中没有得到StaleElementException?

Java 我甚至可以使用列表<;WebElement>;在Selenium中没有得到StaleElementException?,java,selenium,staleelementreferenceexception,Java,Selenium,Staleelementreferenceexception,类似的问题已经被问了一百万次,但我仍然没有找到解决这个问题的正确方法 第一个问题:在Selenium中迭代Web元素列表是否是一种不好的做法 我非常喜欢Java中的列表。通常我会找到我感兴趣的所有Web元素,并对它们进行迭代。但是如果你这样做,你经常会得到一个StaleElementException。我知道什么是StaleElementException,但在仍然使用列表的情况下,我无法找到正确的方法来防止它们 在以下场景中,你们会怎么做: 我的webapp中有一堆互动程序,我需要单击它们并检

类似的问题已经被问了一百万次,但我仍然没有找到解决这个问题的正确方法

第一个问题:在Selenium中迭代Web元素列表是否是一种不好的做法

我非常喜欢Java中的列表。通常我会找到我感兴趣的所有Web元素,并对它们进行迭代。但是如果你这样做,你经常会得到一个StaleElementException。我知道什么是StaleElementException,但在仍然使用列表的情况下,我无法找到正确的方法来防止它们

在以下场景中,你们会怎么做: 我的webapp中有一堆互动程序,我需要单击它们并检查结果是否正常。 我很想做这样的事情,但这通常会导致StaleElementException:

List<WebElement> tiles = driver.findElements(By.className("box"));
for (WebElement tile: tiles) {
    //at this point I already get a stale element exception quite often.
    //How can I use Lists without getting a stale element at all?

    tile.click()
} 
否则,我甚至会在代码中描述如何从我拥有的十几个tile中找到一个旧的WebElement,因为它们没有唯一的id?

这听起来像是一个错误。编辑您的问题并询问实际问题,而不是寻求帮助解决问题。你想干什么?这听起来像是一场灾难。编辑您的问题并询问实际问题,而不是寻求帮助解决问题。你想干什么?
WebElement newWebElement = driver.findElement(oldWebElement)