selenium中关于 stale element reference:element is not attached to the page document的解决办法

     有时候在执行程序时会遇到如下报错内容:stale element reference:element is not attached to the page document。

    原始程序:

modules=browser.find_element_by_xpath('//*[@id="sidebar"]/div[2]').find_elements_by_tag_name('li')
time.sleep(2)
for i in range(len(modules)):
    time.sleep(3)
    module=modules[i].text

 

就多加了一行,相当于重新获取一次xpath地址:

modules=browser.find_element_by_xpath('//*[@id="sidebar"]/div[2]').find_elements_by_tag_name('li')
time.sleep(2)
for i in range(len(modules)):
    time.sleep(3)
    modules = browser.find_element_by_xpath('//*[@id="sidebar"]/div[2]').find_elements_by_tag_name('li')
    module=modules[i].text

主要思路就在于,看报错信息是哪一行,就在那一行前面重新定位一下元素即可,如果有循环存在,适当sleep一下,保证每个循环都能完美执行。


版权声明:本文为qq_35045057原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。