解决方法
- 获取全部的iframe列表
- 调试获取目标iframe
- 使用:
browser.switch_to.frame(目标iframe)
- 退回到原有的状态:
browser.switch_to.default_content()
# 进入另一个iframe
browser_iframe_list = browser.find_elements(By.CSS_SELECTOR, "iframe") # 这是全部的iframe
browser.switch_to.frame(browser_iframe_list[1])
# ==============
# 进行操作....
# ==============
browser.switch_to.default_content() # 返回原有的iframe
问题解析
不同的iframe之间的元素无法被selenium锁定,因此需要通过人为调试,得到具体的iframe窗口,进入目标iframe后才能够进行元素的锁定,锁定后就得到目标内容,但是此时完成操作后需要使用browser.switch_to.default_content()
退回到原有的iframe,才可以接着原有的逻辑进行操作文章来源地址https://www.toymoban.com/news/detail-836542.html
文章来源:https://www.toymoban.com/news/detail-836542.html
到了这里,关于解决selenium访问网页中多个iframe,导致无法锁定元素的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!