元素不再附加到DOM

时间:2016-09-20 08:54:15

标签: python selenium-webdriver

我正在编写测试,在那里我为应用程序创建一个ip池,然后在下一步中删除它。

功能如下:

def remove_passed_ip(self, ip):
    """ Find and ip and delete it
        Args:
            ip (str): the name of ip to click and delete

        Returns:
            webelement
    """
    index = -1
    try:
        ipDelBtnList = self.wait_for_presence_of_all_elements(self.onboarding_select_address_pools_delete_btn_list)
        ipList = self.wait_for_presence_of_all_elements(self.onboarding_select_address_pools_list)
        time.sleep(5)
    except:
        self.log.info("dasdda")
    else:
        for ips in ipList:
            index +=1
            temp = ips.text.split('/')
            if str(ip)==str(temp[0]):
                ipHandle = ipDelBtnList[index]
                time.sleep(5)
                ipHandle.click()
                time.sleep(15)

删除操作正常,删除创建的ip,但在测试结束后,它会将错误视为

Message: Element is no longer attached to the DOM

请提供解决此问题的任何指示。如果对此问题有任何其他说明,请告诉我。

1 个答案:

答案 0 :(得分:1)

这是因为删除后DOM会发生变化,Selenium与浏览器的所有“引用”都会丢失。

要解决此问题,您需要在删除上一个元素之后再从页面中获取元素(或确定要更改DOM的任何其他操作)。