selenium 如何遍历所有的 frame??

我遇到一个页面需要不断的切换frame,有什么办法可以遍历所有的frame呀?

我自己写的,我觉得就是个无底洞,怎么样能优化一下或者有什么其他方法??

万人血书求大佬!

if len(driver.find_elements_by_tag_name("frame")):
    for i in range(len(driver.find_elements_by_tag_name("frame"))):
        driver.switch_to.frame(i)
        try:
            driver.find_element_by_link_text('xxx').click()
        except:
            if len(driver.find_elements_by_tag_name("frame")):
                for i in range(len(driver.find_elements_by_tag_name("frame"))):
                    driver.switch_to.frame(i)
                    try:
                        driver.find_element_by_link_text('xxx').click()

                    except:
                        if len(driver.find_elements_by_tag_name("frame")):
                            for i in range(len(driver.find_elements_by_tag_name("frame"))):
                                driver.switch_to.frame(i)
                                try:
                                    driver.find_element_by_link_text('xxx').click(
                                except:
                                    (...)
                        else:
                            driver.switch_to.parent_frame()
            else:
                driver.switch_to.parent_frame()
else:
    driver.find_element_by_link_text('xxx').click()

 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^