Python StaleElementReferenceException在遍历页面上的按钮/分幅时发生异常

Python StaleElementReferenceException在遍历页面上的按钮/分幅时发生异常,python,selenium,web-scraping,Python,Selenium,Web Scraping,我正在浏览网页,当一个人选择一部手机并继续选择一个计划作为“新客户”时,通常会有两个或三个按钮:“premium ultra”、“premium plus”等。我已经将css选择器添加到了这些互动程序中,但当我进入第三次迭代时,我会得到一个“StaleElementReferenceException” 我已经准备好了try/exceptions,但是我更愿意完成所有的tile,因为我的代码的下一部分涉及到迭代下面的“计划和数据选项” plantypes = driver.fin

我正在浏览网页,当一个人选择一部手机并继续选择一个计划作为“新客户”时,通常会有两个或三个按钮:“premium ultra”、“premium plus”等。我已经将css选择器添加到了这些互动程序中,但当我进入第三次迭代时,我会得到一个“StaleElementReferenceException”

我已经准备好了try/exceptions,但是我更愿意完成所有的tile,因为我的代码的下一部分涉及到迭代下面的“计划和数据选项”

        plantypes = driver.find_elements_by_css_selector('#prod-term-radio .hot-tile')

        print(len(plantypes)) #number of plan types.

        for plan in plantypes:
            try:

                plan.click()
                time.sleep(3)


            except exceptions.StaleElementReferenceException as e:
                pass

我希望能够遍历所有的tile,而不是在第二个tile之后过早地删除。

由于DOM已更新,导致元素过时,因此在单击后必须刷新元素列表,请尝试此操作

plantypes = driver.find_elements_by_css_selector('#prod-term-radio .hot-tile')        
print(len(plantypes)) #number of plan types.

for count, plan in enumerate(plantypes):
    try:
        ptypes = driver.find_elements_by_css_selector('#prod-term-radio .hot-tile') 
        ptypes[count].click()
        time.sleep(3)

    except exceptions.StaleElementReferenceException as e:
        pass