解决selenium访问网页中多个iframe,导致无法锁定元素的问题

解决方法

  1. 获取全部的iframe列表
  2. 调试获取目标iframe
  3. 使用:browser.switch_to.frame(目标iframe)
  4. 退回到原有的状态: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,才可以接着原有的逻辑进行操作

你可能感兴趣的:(爬虫,selenium)