Java 选中复选框时在katalon中获取陈旧元素异常

Java 选中复选框时在katalon中获取陈旧元素异常,java,selenium,selenium-webdriver,katalon-studio,Java,Selenium,Selenium Webdriver,Katalon Studio,当我在运行代码时遇到5次异常中的2次时,有人能帮我处理相同的异常吗 public selectTags(int tags){ WebDriver driver = DriverFactory.getWebDriver() for(int i=1; i<=tags; i++){ WebElement elementCheckBox = driver.findElement(By.cssSelector('div.v-scrollable.v-table-bod

当我在运行代码时遇到5次异常中的2次时,有人能帮我处理相同的异常吗

public selectTags(int tags){
    WebDriver driver = DriverFactory.getWebDriver()
    for(int i=1; i<=tags; i++){
        WebElement elementCheckBox = driver.findElement(By.cssSelector('div.v-scrollable.v-table-body-wrapper.v-table-body div:nth-child(1) table tbody tr:nth-child('+i+') td:nth-child(1) input'))
        if(!elementCheckBox.isSelected()){
            elementCheckBox.click()
            WebUI.delay(1)
        }
    }
}
public选择标签(int标签){
WebDriver=DriverFactory.getWebDriver()

对于(inti=1;i为什么不共享HTML元素? 这可能有助于解决问题

我认为你应该在单击之前使用延迟

 for(int i=1; i<=tags; i++){
    WebElement elementCheckBox = driver.findElement(By.cssSelector('div.v-scrollable.v-table-body-wrapper.v-table-body div:nth-child(1) table tbody tr:nth-child('+i+') td:nth-child(1) input'))
    WebUI.delay(1)
    if(!elementCheckBox.isSelected()){
        WebUI.delay(1)
        elementCheckBox.click()
        WebUI.delay(1)
    }
}

for(inti=1;i为什么不共享HTML元素?
这可能有助于解决问题

我认为你应该在单击之前使用延迟

 for(int i=1; i<=tags; i++){
    WebElement elementCheckBox = driver.findElement(By.cssSelector('div.v-scrollable.v-table-body-wrapper.v-table-body div:nth-child(1) table tbody tr:nth-child('+i+') td:nth-child(1) input'))
    WebUI.delay(1)
    if(!elementCheckBox.isSelected()){
        WebUI.delay(1)
        elementCheckBox.click()
        WebUI.delay(1)
    }
}

for(int i=1;i请添加您面临的异常或错误。您的css选择器似乎非常脆弱。请围绕您尝试单击的元素共享HTML。请添加您面临的异常或错误。您的css选择器似乎非常脆弱。请围绕您尝试单击的元素共享HTML。